G=6.67*10^(-11); # b% D, y) `; o b! w" l3 nr=100;1 F5 C% f. h* P7 m; O
h=500;: _) h0 L* a* H/ H3 o! u
m=0.1*(4/3)*pi*r^3; ! k. Z/ J! L5 Vg=zeros(41,41);; x8 p& n( J5 N* C7 v
for x=-1000:50:1000 7 {1 V& W4 h' f# \9 c: n for y=-1000:50:1000 - ~* c. S* c/ f% y2 D3 V N, Q g(1:41,: )=G*m*h/((x^2+y^2+h^2)^(3/2)); 1 @5 y, ^; b2 H& j' K0 Q& ~, v# W end t1 F. W/ T# d
end . b3 v7 r, u4 |+ b! \ B3 Z# D# b" g- L
你的赋值语句不对,循环中每次赋值都是给g矩阵的整体赋值,所以结果就是最后一次循环给g整体赋值的结果+ F. o6 R+ c* T5 p. W; b
x=-1000:50:1000;3 ^" e7 v$ n% x2 U+ t
y=-1000:50:1000;+ D! W: I: v! g0 N
for i=1:41/ {% o$ @- D2 i) o: n
for j=1:41 - n/ E) Q2 y B0 e g(i,j)=G*m*h/((x(i)^2+y(j)^2+h^2)^(3/2)); 5 p0 L6 S. G+ I7 `, i end% Y W; F8 d5 `0 i
end 3 }$ g& c* K5 ]$ _" e% x5 z复制代码! J1 J! H" {9 o% [7 W+ e0 B
看一下这是不是你要的结果,如果不是请自己理解并修改一下吧。