3

各要素が 10 * row_index + column_index として定義されているマトリックスを生成しようとしています。行と列は、最大 9x9 の行列まで変動する場合があります。例えば:

11    12    13    14    15    16
21    22    23    24    25    26
31    32    33    34    35    36
41    42    43    44    45    46
51    52    53    54    55    56

アルゴリズムはループで非常に単純ですが、行列を扱うときは、ベクトル/行列演算よりも遅いため、絶対に必要でない限りループforを避けるように警告されました。for

Matlab 2012b でこのような行列を生成するには、他にどのような方法がありますか?

4

1 に答える 1

6

特定のマトリックスについては、非常に簡単です。

nRows = 4;
nCols = 5;

out = bsxfun(@plus,10*(1:nRows)',1:nCols)

out =

11    12    13    14    15
21    22    23    24    25
31    32    33    34    35
41    42    43    44    45
于 2013-01-18T21:21:36.663 に答える