使用matlab内置函数生成矩阵

Generate matrix using matlab built-in function

我想要生成以下形式的矩阵:

1 2 3
2 3 4
3 4 5

使用 MATLAB。 我可以编写代码来生成上面的矩阵:

for i=1:3
    for j=1:3
        idx(i,j)=i+j-1;
    end
end

但是,我想使用 MATLAB 内置函数生成上面的矩阵以简化我的代码(我不想再次使用循环)。有谁知道上面MATLAB生成矩阵的内置函数吗?

尝试使用

[1:3; 2:4; 3:5]

这会生成一个 3 x 3 矩阵并将您的代码简化为一行。

在 MATLAB® R2016b 及更高版本中:

[1:3] + [0:2]'

旧样式:

bsxfun(@plus,1:3,[0:2]')