8

私はmatlabを初めて使用し、コード内の非常に小さなことを変更する必要があるだけです。次のマトリックスがあります。

ans =

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

この ans の行数を取得する方法は? それは4であるべきです

4

5 に答える 5

10

size関数を使用する必要があります。

nRows = size(myMatrix, 1);  % 1 stands for the first dimension
于 2013-06-21T08:51:20.993 に答える
3

サイズ関数を使用するだけです

size(ans, 1)
于 2013-06-21T08:51:03.043 に答える
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)、最も一般的に使用される関数の 1 つに違いありません。

(ちなみに、このような行列をループすることは、パフォーマンスが重要なコードには最適な選択ではないかもしれません。しかし、それが問題にならない場合は、最も読みやすい選択を行ってください。)

于 2014-09-10T03:05:55.253 に答える
2

また、1 回の呼び出しで行数と列数の両方を取得できます。

[rows columns] = size(myMatrix);
于 2015-06-20T11:08:28.367 に答える