首页 文章

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

提问于
浏览
1

ndims的文档说明了这一点

N = ndims(A)返回数组A中的维数 . 维数始终大于或等于2

单个维度数组,即行向量是否意味着维度为1?

1 回答

  • 0

    如果你看看 ndims.m ,你可以看到

    简单地说,它是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 .

相关问题