为什么在Matlab中,数组的维数总是大于或等于2

  • 本文关键字:大于 Matlab 数组 matlab octave
  • 更新时间 :
  • 英文 :


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

或者函数isscalarisvectorismatrix的某种组合。

最新更新