以下函数允许您确定变量或表达式的大小。这些函数是为所有对象定义的。当操作没有意义时,它们返回−1。例如,Octave的数据结构类型没有行或列,因此rows
和columns
对于结构体参数,函数返回−1。
nc =
columns (A)
¶返回的列数A.
这相当于大小A2.
.
详见: rows, size, length, numel, isscalar, isvector, ismatrix.
nr =
rows (A)
¶返回的行数A.
这相当于大小A1.
.
详见: columns, size, length, numel, isscalar, isvector, ismatrix.
n =
numel (A)
¶n =
numel (A, idx1, idx2, …)
¶返回对象中的元素数A.
可选地,如果索引idx1, idx2,…,返回索引将返回的元素数
A(idx1, idx2, ...)
请注意,索引不必是标量。例如
a1.b=个(2,3);numel(a, b)
将返回6,因为这是索引的方式数b。或者索引可以是字符串":"
它表示冒号运算符。例如
A=个(5,3);numel(A2.
将返回3,因为第二行有三个列条目。
当对象显示为具有cs-listindexing的左值时,也调用此方法,即。,object{…}
或object(…).field
.
n =
length (A)
¶返回对象的长度A.
空对象的长度为0,标量的长度为1,向量的元素数为1。对于矩阵或N维对象,长度是沿最大维度的元素数(相当于最大(大小(A))
).
sz =
size (A)
¶dim_sz =
size (A, dim)
¶dim_sz =
size (A, d1, d2, …)
¶[rows, cols, …, dim_N_sz] =
size (…)
¶返回一个行向量,其中包含对象每个维度的大小(元素数)A.
当给出第二个参数时,dim,返回相应尺寸的大小。如果dim是一个向量,返回每个相应的维度。也可以将多个维度指定为单独的参数。
对于单个输出自变量,size
返回一个行向量。当用多个输出自变量调用时,size
返回第N个参数的维度Nin的大小。第一个参数返回行数(维度1),第二个参数返回列数(维度2),依此类推。如果中有更多维度A比有多余的参数,size
返回最终输出参数中剩余维度中的元素总数。如果指定的尺寸dim大于中的维度数A, size
返回1(不是0)。
示例1:单行向量输出
size ([1, 2; 3, 4; 5, 6]) ⇒ [ 3, 2 ]
示例2:第二个维度中的元素数(列)
size ([1, 2; 3, 4; 5, 6], 2) ⇒ 2
示例3:输出参数的数量==维度的数量
[nr, nc] = size ([1, 2; 3, 4; 5, 6]) ⇒ nr = 3 ⇒ nc = 2
示例4:输出参数的数量<维度的数量
[nr, remainder] = size (ones (2, 3, 4, 5)) ⇒ nr = 2 ⇒ remainder = 60
示例5:维度中元素的数量>实际维度的数量
sz4 = size (ones (2, 3), 4) ⇒ sz4 = 1
详见: numel, ndims, length, rows, columns, size_equal, common_size.
tf =
isnull (x)
¶如果返回truex是一个特殊的null数组、字符串或单引号字符串。
右侧有这样一个null值的索引赋值应该删除tearray元素。此函数用于代替isempty
重载索引赋值方法时(subsasgn
)用于用户定义的类。isnull
用于区分这两种情况:
A(I) = []
和
X= []; A(I) = X
在第一个赋值中,右侧为[]
这是一个specialnull值。只要索引I不是空的,此代码应该从中删除元素A而不是执行赋值。
在第二个赋值中,右侧为空(因为X是[]
),但确实如此不无效的此代码应将空值赋值给中的元素A.
Octave内置char类中的一个示例演示了当isnull
正确使用。
str = "Hello World"; nm = "Wally"; str(7:end) = nm # indexed assignment ⇒ str = Hello Wally str(7:end) = "" # indexed deletion ⇒ str = Hello
sz =
sizeof (val)
¶返回的大小val以字节为单位。
详见: whos.
TF =
size_equal (A, B)
¶TF =
size_equal (A, B, …)
¶如果所有参数的维度一致,则返回true。
后面的奇异维度将被忽略。当使用单个参数或无参数调用时,size_equal
返回true。
详见: size, numel, ndims, common_size.
B =
squeeze (A)
¶从中删除奇异维度A并返回结果。
请注意,为了与兼容MATLAB,所有对象都至少有两个维度,行向量保持不变。
详见: reshape.
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2