回 帖 发 新 帖 刷新版面

主题:不明白哪里出错了

%有限长水平圆柱体
%几点说明:柱体长度为2L,这里去L=10m,轴线埋藏深度为D,这里取D=20m,
%单位长度的剩余质量A,剩余密度为σ,这里取a=0.5
%R为柱体半径,这里去R=2,pi=3.1415,重力异常为gl
G=6.72e-11;
pi=3.1415;
a=0.5;
R=2;
D=20;
L=10;
A=pi*R^2*a;
for x=-100:100;
gl=2*G*A*D*1/(x^2+L^2+D^2)^(1/2)*1/(x^2+D^2);
end
plot(x,gl,'r')


*****不出图,不知道是为什么,请高手帮忙解答,万分感激~~~~

回复列表 (共5个回复)

沙发

G=6.72e-11;
pi=3.1415;
a=0.5;
R=2;
D=20;
L=10;
A=pi*R^2*a;
 x=-100:100;
gl=2*G*A*D*1./(x.^2+L^2+D^2).^(1/2)*1./(x.^2+D^2);
plot(x,gl,'r')

板凳


貌似主要问题不是这样子的,有人给我了解答,拿出来与大家共享~~
plot函数要画出一条曲线出来,则需要很多坐标值。你这里x到最后就是一个值100,gl也是一个值,这样只能画出一个点出来。可以这样改
G=6.72e-11;
pi=3.1415;
a=1.5;
R=2;
D=20;
L=10;
A=pi*R^2*a;
x=-100:100;
gl=zeros(201,1)
k=1;
for i=-100:100;
B=(i^2+L^2+D^2)^(1/2)*(i^2+D^2)
gl(k)=2*G*A*D*L/B;
k=k+1;
end
plot(x,gl,'r');

3 楼


我给你改了错了。你不说声谢谢,不好好看看就说我的不对,有点儿不讲究吧。你第一个帖中有一个符号错了。和第三个帖中不一样,乘法和除法写反了。你第三个程序是对的。但for循环运行太慢了。现在矩阵小可能感觉不出来,要是矩阵大了就太慢了。看来以后我还是少没事多事了。

4 楼


我没有那个意思啊,我很感谢你对于我的帮助,我只是说我的意见而已啊,你把我的错误点放在矩阵要加点号,但是我要完成的是一条曲线,主要问题在循环的问题。再有我第一个中式子里用的是两个除号,但是我在第三个里面,是先经后两部分乘起来然后再整体除,跟连除效果是一样的~~~

5 楼

%有限长水平圆柱体
%几点说明:柱体长度为2L,这里去L=10m,轴线埋藏深度为D,这里取D=20m,
%单位长度的剩余质量A,剩余密度为σ,这里取a=0.5
%R为柱体半径,这里去R=2,pi=3.1415,重力异常为gl
G=6.72e-11;
pi=3.1415;
a=0.5;
R=2;
D=20;
L=10;
A=pi*R^2*a;
x=-100:100;
gl=2*G*A*D*1./(x.^2+L^2+D^2).^(1/2).*1./(x.^2+D^2);
plot(x,gl,'r')

我来回复

您尚未登录,请登录后再回复。点此登录或注册