ndims的文档说明
N=ndims(A(返回数组A中的维数。维数总是大于或等于2
一维数组,即行向量,不是意味着维度为1吗?
如果您查看ndims.m
内部,您可以看到
Put simply, it is LENGTH(SIZE(X)).
现在size
总是返回长度>=2的向量,即使对于空数组也是如此(即size([])
是[0 0]
(。为什么会这样?很可能是TMW很久以前做出的设计选择。
如果你想测量"实际尺寸",你可能想使用:
function nad = nActDims(in)
if numel(in) == 1
nad = 1;
else
nad = sum(size(in)>1);
end
或者函数isscalar
、isvector
、ismatrix
的某种组合。