【发布时间】:2019-12-09 13:41:02
【问题描述】:
我正在尝试通过for 循环中的反复试验方法来绘制重力异常。我有以下由圆形物体引起的重力异常gal1 的公式,我试图在循环中更改质量(m)和重心深度(h)的值, 这样它就可以为插入的不同 m 和 h 绘制重力异常的每个值。
发生的情况是它没有使用plot(x,gal1(j) 绘制任何值,而当我使用plot(x,gal1) 时只绘制一个值。我期望它绘制循环中每次迭代的值,以便我有不同的gal1
x=[-3 ; -2.5; -2; -1.5; -1; -0.5; 0; 0.5; 1.5];
for j=1:9
for i = 10:10:90
for k = 10:10:90
h(i)=i/100;
m(k)=k/100
gal1(j)=(6.67 * (m(k)) * (h(i))/(x(j, 1)^2 + (h(i)) ^2)^(3/2));
plot(x,gal1(j))
hold on
end
end
end
【问题讨论】:
-
对不起,是MatLab,我弄错了
-
你应该比“它不工作”更精确。同样在代码的开头使用
m、h和x,但这些变量还不存在。提供一个最小且可重现的问题示例。 -
好的,我更正了,但 m 和 h 在循环中指定,我希望它们的值在 0.1 步内从 0.1 变化到 0.9
-
您的绘图不会输出任何内容,因为您只是在绘制一个点。您可以使用
plot(x,gal1(j),'o')显示一个点。但老实说,您的代码是如此奇怪和低效,我几乎可以肯定某处存在更大的错误。由于您没有提供预期的结果,我无法提供更多帮助。