matlab - 有没有一种方法可以生成一个矩阵,其中每个元素都定义为 10+row_index + column_index 而无需 for 循环?

标签 matlab matrix

我正在尝试生成一个矩阵,其中每个元素都定义为 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 中还有哪些其他方法可以生成这样的矩阵?

最佳答案

对于您的特定矩阵,它非常简单:

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

关于matlab - 有没有一种方法可以生成一个矩阵,其中每个元素都定义为 10+row_index + column_index 而无需 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407654/

相关文章:

matlab - 使用 PARFOR 和 FOR 的不同结果

python - 将图像从 Python 传递到 MATLAB 函数

机器人:为什么 getrotationmatrix 返回 false?

objective-c - SceneKit 模型的持续旋转

r - 使用 R 更改具有 0 和 1 信息的矩阵中的数据帧

matlab - 运行测试在 matlab 2015b 中有效,但在 2013b 中无效

Matlab:查找点(x,y)包围的面积

matlab - 如何合并/交错 2 个矩阵?

matlab - Matlab的 "complex"函数有什么意义?

python - 是否有与 MATLAB 的 conv2 函数等效的 Python?