以下函数允许您确定变量或表达式的大小。这些函数是为所有对象定义的。当操作没有意义时,它们返回−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