如何获得这个matlab矩阵的长度(行数)?

时间:2013-06-21 08:45:55

标签: matlab

我对matlab很新,只需要在代码中更改一个非常小的东西。我有以下矩阵:

ans =

     1     1     1
     1     2     1
     2     1     1
     2     2     2

如何获取此ans的行数?它应该是4

5 个答案:

答案 0 :(得分:9)

您应该使用size功能:

nRows = size(myMatrix, 1);  % 1 stands for the first dimension

答案 1 :(得分:3)

只需使用size功能

即可
size(ans, 1)

答案 2 :(得分:2)

我发现首先定义

更具可读性
rows = @(x) size(x,1); 
cols = @(x) size(x,2);

然后使用,例如,像这样:

for y = 1:rows(myMatrix)
    for x = 1:cols(myMatrix)
        do_whatever(myMatrix(y,x))
    end
end

它可能看起来很小,但size(.., 1)必须是最常用的功能之一。

(顺便说一句,在这样的矩阵上循环可能不是性能关键代码的最佳选择。但如果这不是问题,那么选择最可读的选择。)

答案 3 :(得分:1)

计算矩阵中的行数:

 length(ans)

给出矩阵的最大尺寸。对于二维矩阵,它是行数和列数中的较大者。我在教程中读到长度给出了第一个非单例维度,但根据官方MathWorks MATLAB文档这是不正确的,并且似乎是我正在使用的程序中的错误的原因。

答案 4 :(得分:1)

此外,您可以使用一次调用获取行数和列数:

[rows columns] = size(myMatrix);