gpt4 book ai didi

Matlab:使用矩阵运算而不是 for 循环

转载 作者:太空宇宙 更新时间:2023-11-03 20:16:21 25 4
gpt4 key购买 nike

是否可以在 Matlab 中仅使用矩阵运算来创建 NxN 矩阵 Mat,就像下面的两个 foor 循环一样?

Mat = zeros(N);
for row = 1:N
for col = 1:N
if (row == 1 && (1 <= col && col <= N))
Mat(row,col) = N;
end
if ((2 <= row && row <= N) && (1 <= col && col <= N))
Mat(row,col) = (2*row+1)*col;
end
end
end

我想像这样索引相应的行和列:

Mat(1,1:N) = N;

row = 2:N;
col = 1:N;
Mat(row,col) = (2.*row+1).*col;

第一行有效。但是第二个操作明显导致row和col的维度有问题。

如何使用行和列的每个值?或者是否有更简单的方法从两个 foor 循环中获得相同的结果?

最佳答案

你也可以使用 ndgrid ;

[II,JJ] = ndgrid(1:N);
Mat = JJ+2*JJ.*II;
Mat(1,:) = N;

关于Matlab:使用矩阵运算而不是 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com