我对matlab很新,只需要在代码中更改一个非常小的东西。我有以下矩阵:
ans =
1 1 1
1 2 1
2 1 1
2 2 2
如何获取此ans的行数?它应该是4
答案 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);