变量使您可以为值命名,并在以后引用它们。您已经在许多示例中看到了变量。变量的名称必须是字母、数字和下划线的序列,但不能以数字开头。Octave没有对变量名称的长度进行限制,但对于名称超过30个字符的变量来说,这几乎没有什么用处。以下是所有有效的变量名
x x15 __foo_bar_baz__ fucnrdthsucngtagdjb
然而,像这样的名字__foo_bar_baz__
以两个下划线开头和结尾的字符被理解为保留给Octave内部使用。您不应该在编写的代码中使用它们,除非访问Octave的文档化内部变量和内置符号常量。
大小写在变量名称中很重要。符号a
和A
是不同的变量。
变量名本身就是一个有效的表达式。它表示变量的当前值。变量被赋予新值赋值运算符和增量运算符详见赋值表达式.
有一个自动创建的变量具有特殊意义。这里的ans
变量始终包含上一次计算的结果,其中输出未赋值给任何变量。代码a =
cos (pi)
将值-1赋值给变量a
,但不会更改的值ans
。但是,代码cos (pi)
将设置的值ans
至-1。
Octave中的变量没有固定类型,因此可以先将数值存储在变量中,然后在同一程序中使用相同的名称来保存字符串值。变量在给定值之前不能使用。这样做会导致错误。
未显式赋值给avariable的最近计算的结果。
例如,在表达式之后
3^2 + 4^2
的值,返回的值为ans
是25。
tf=
isvarname (name)
¶
如果返回truename是一个有效的变量名。
有效的变量名从字母、数字和下划线(“_”)组成,并且第一个字符不能是数字。
varname=
matlab.lang.makeValidName (str)
¶
varname=
matlab.lang.makeValidName (…,"ReplacementStyle"
,rs)
¶
varname=
matlab.lang.makeValidName (…,"Prefix"
,pfx)
¶
[varname,ismodified] =
matlab.lang.makeValidName (…)
¶
创建有效的变量名varname从…起str.
输入str必须是字符串或字符串的元胞数组。输出varname将是相同的类型。
有效的变量名是一个不以数字开头的字母、数字和下划线序列。
这里的"ReplacementStyle"
参数指定如何处理无效字符。可接受的值为
"underscore"
(default)用下划线替换所有无效字符("_"
).
"delete"
删除任何无效字符。
"hex"
将所有无效字符替换为其十六进制表示形式。
空白字符总是被删除先前的的应用程序"ReplacementStyle"
.空格后面的小写字母将改为大写。
这里的"Prefix"
参数指定字符串pfx如果输入以数字开头,则添加为aprefix。pfx必须是一个有效的可变名称本身。默认前缀为"x"
.
可选输出ismodified是一个逻辑数组,指示中的各个元素str是否为有效名称。
uniqstr=
matlab.lang.makeUniqueStrings (str)
¶
uniqstr=
matlab.lang.makeUniqueStrings (str,ex)
¶
uniqstr=
matlab.lang.makeUniqueStrings (str,ex,maxlength)
¶
[uniqstr,ismodified] =
matlab.lang.makeUniqueStrings (…)
¶
从字符串列表中构造一个唯一字符串列表。
输入str必须是字符串或字符串的元胞数组。输出uniqstr将是相同的类型。
该算法通过添加下划线使两个字符串唯一("_"
以及对第二字符串进行数字计数。
如果ex是字符串或字符串的元胞数组,uniqstr将包含在其自身之间和在以下方面唯一的元素ex.
如果ex是的索引数组或逻辑数组str则它选择的子集str这些都是独一无二的。未选择的元素不会被修改。
可选输入maxlength指定中任意字符串的最大长度uniqstr。如果输入字符串不能在没有超过的情况下唯一maxlength则报错。
可选输出ismodified是一个逻辑数组,指示中的每个元素str经过修改使其独一无二。
n=
namelengthmax ()
¶
返回MATLAB兼容的最大可变名称长度。
Octave能够存储多达2^{31} - 1长度。然而,对于MATLAB兼容性所有变量、函数和结构体字段名称都应短于返回的长度namelengthmax
。特别是,存储到的变量MATLAB文件格式(*.mat)将把他们的名字截断到这里的长度。
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2