如何在Matlab中同时使用两个变量运行for循环

kiz8lqtg  于 2023-02-13  发布在  Matlab
关注(0)|答案(1)|浏览(1399)

我在Matlab中使用以下命令:

grazAng = grazingang(H,R)

如果我固定H,我可以把R当作一个向量:

z=[];
for i=1:1000
z(i)=abs(grazingang(1,i));
end

现在我想把H和R都用dynamic表示。例如:

H=[0,0.25,0.5]
R=[1,2,3]

我希望我的循环运行三次,每次选择一对索引相同的(H,R)值,即(0,1),(0.25,2),(0.5,3),然后将结果存储在z中,有人能帮我吗?

qni6mghb

qni6mghb1#

记住,MATLAB中的所有东西都是数组。要在循环中实现这一点,需要对数组进行索引:

H = [0,0.25,0.5];
R = [1,2,3];

z = zeros(size(H)); % Pre-allocation is generally advised
for i = 1:1000
    z(i) = abs(grazingang(H(i),R(i)));
end

但MATLAB函数通常接受向量并为您完成此操作,因此您需要做的是:

H=[0,0.25,0.5];
R=[1,2,3];
z = abs(grazingang(H,R));

相关问题