我需要填充矩阵r,其中r=r(z)
和ri
是常数。但是使用此代码,我只会得到第一行r=-0.7:0.7
。
z=-1:0.001:0;
ri=0.7;
R=ri-z*(ri-1);
for z=-1:0.001:0;
r=(linspace(-(ri-z*(ri-1)),ri-z*(ri-1),1001))
end
meshgrid
也不起作用,因为它在行的末尾提供了恒定值
我的完整矩阵必须为这种形状或转置:
-0.7...... 0.7
0.8 ... 0.8
. .
. .
. .
0 .9 ... 0.9
. .
. .
. .
1 ... 1
或
0 ...... 0.7
0 ... 0.8
. .
. .
. .
0 ... 0.9
. .
. .
. .
0 ... 1
答案 0 :(得分:0)
就像@Ander Biguri所说的那样,问题在于每次通过循环都设置r
并覆盖前一遍的内容。在循环的最后,您将得到最后一行(而不是第一行)。预分配r
r = zeros(numel(z), 1001);
然后以
循环for k=1:numel(z)
R=ri-z(k)*(ri-1);
r(k,:) = linspace(-R, R, 1001);% <-- Different row each pass
end
希望这会有所帮助,
JAC