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 回答