求教大神~~哪里出错了!!谢谢了~新手求教~
mathematica吧
全部回复
仅看楼主
level 1
shzwna 楼主
Remove[x1, x2, x3, y1, y2, y3]
{X10, Y10} = {2, 2}; {VX10, VY10} = {1, 2.9};
{X20, Y20} = {-3, -3}; {VX20, VY20} = {-1, 2};
{X30, Y30} = {5, -2}; {VX30, VY30} = {1.7, -0.1};
M1 = 1;
M2 = 1;
M3 = 1;
G = 15;
TMAX = 100;
DeltaTime = TMAX/100;
MyLTBR = 20;
VCenter = (M1*{VX10, VY10} + M2*{VX20, VY20} + M3*{VX30, VY30})/(M1 +
M2 + M3);
{VX10, VY10} -= VCenter;
{VX20, VY20} -= VCenter;
{VX30, VY30} -= VCenter;
F21X[t_] :=
G*M2*M1*(X2[t] - X1[t])/((Y2[t] - Y1[t])^2 + (X2[t] - X1[t])^2)^1.5
F21Y[t_] :=
G*M2*M1*(Y2[t] - Y1[t])/((Y2[t] - Y1[t])^2 + (X2[t] - X1[t])^2)^1.5
F31X[t_] :=
G*M3*M1*(X3[t] - X1[t])/((Y3[t] - Y1[t])^2 + (X3[t] - X1[t])^2)^1.5
F31Y[t_] :=
G*M3*M1*(Y3[t] - Y1[t])/((Y3[t] - Y1[t])^2 + (X3[t] - X1[t])^2)^1.5
F32X[t_] :=
G*M3*M2*(X3[t] - X2[t])/((Y3[t] - Y2[t])^2 + (X3[t] - X2[t])^2)^1.5
F32Y[t_] :=
G*M3*M2*(Y3[t] - Y2[t])/((Y3[t] - Y2[t])^2 + (X3[t] - X2[t])^2)^1.5
ANS = NDSolve[
{
M1*X1''[t] == F21X[t] + F31X[t],
M1*Y1''[t] == F21Y[t] + F31Y[t],
M2*X2''[t] == -F21X[t] + F32X[t],
M2*Y2''[t] == -F21Y[t] + F32Y[t],
M3*X3''[t] == -F31X[t] - F32X[t],
M3*Y3''[t] == -F31Y[t] - F32Y[t],
X1[0] == X10, X1'[0] == VX10,
Y1[0] == Y10, Y1'[0] == VY10,
X2[0] == X20, X2'[0] == VX20,
Y2[0] == Y20, Y2'[0] == VY20,
X3[0] == X30, X3'[0] == VX30,
Y3[0] == Y30, Y3'[0] == VY30
}, {X1, X2, X3, Y1, Y2, Y3}, {t, 0, TMAX}]
{R1, R2, R3} = {M1^(1/3), M2^(1/3), M2^(1/3)}/
3; {{PX1, PX2, PX3, PY1, PY2, PY3}} = {X1, X2, X3, Y1, Y2, Y3} /.
ANS;
GraphList = Table[
Show[{
ParametricPlot[{{PX1[t], PY1[t]}, {PX2[t], PY2[t]}, {PX3[t],
PY3[t]}}, {t, 0, tmax},
PlotStyle -> {Darker[Red], Darker[Green], Darker[Blue]},
PlotRange -> {{-MyLTBR, MyLTBR}, {-MyLTBR, MyLTBR}}], Graphics[
{Disk[{PX1[tmax], PY1[tmax]}, R1],
Disk[{PX2[tmax], PY2[tmax]}, R2],
Disk[{PX3[tmax], PY3[tmax]}, R3]}
]
}], {tmax, DeltaTime, TMAX, DeltaTime}]; ListAnimate[GraphList]
2017年12月22日 18点12分 1
level 1
shzwna 楼主
检查了几遍都没发现哪出错了!哭死
2017年12月22日 18点12分 2
level 1
我运行了一下,似乎一切正常。
2017年12月23日 04点12分 3
level 1
shzwna 楼主
谢谢,我自己愚了,我和其他程序混一起运行,出现错误!非常感谢
2017年12月23日 13点12分 4
1