欧拉方法绘制彗星的轨道轨迹

7视图(30天)
我试图用欧拉方法绘制彗星的轨道,但无论我怎么我得到线性情节的位置,速度,加速度和通常没有意义的数字。我确信它已经与我的步长,但是我试过数百个f组合和我不知道如何解决这个问题。单位都在公里。
%欧拉方法
%初始条件和设置
h = 1;%步长
t = 0: h: 100;x %的范围
y = 0(大小(t));%分配
x = 0(大小(t));
vx = 0(大小(t));
v = 0(大小(t));
ax = 0(大小(t));
唉= 0(大小(t));
y (1) = 0;%的初始值
x (1) = 193929400;
vx (1) = -5.909;
v (1) = 50.00294822;
(ax (1), ay (1)] = newaccel (x (1), y (1));
n =元素个数(y);
我= 1:n - 1
vx (i + 1) = vx (i) + h * ax(我);
v (i + 1) = v (i) + h *啊(我);
(i + 1) = y (i) + h * v (i + 1);
x (i + 1) = x(我)+ h * vx (i + 1);
(ax (i + 1), ay (i + 1) = newaccel (x (i + 1), y (i + 1));
结束
这就是我的函数来确定加速度的样子。
函数[a_newx a_newy] = newaccel (Xx_n Xy_n)
X_n = [Xx_n * 1000, Xy_n * 1000);
G = 6.67408 e-11;
= 1.989 e30女士;
mag_X =√X_n (1)。^ 2 + X_n (2) ^ 2);
a_new = vpa ((- (G *女士)/ (mag_X) ^ 3) * (X_n));
a_newx = a_new (1) / 1000;
a_newy = a_new (2) / 1000;
结束
4评论

登录置评。

答案(1)

艾伦·史蒂文斯
艾伦·史蒂文斯 2020年7月11日
vpa函数的放缓。这里不需要它。试试以下:
%欧拉方法
%初始条件和设置
h = 10;%步长
t = 0: h: 10 ^ 7;x %的范围
y = 0(大小(t));%分配
x = 0(大小(t));
vx = 0(大小(t));
v = 0(大小(t));
ax = 0(大小(t));
唉= 0(大小(t));
y (1) = 0;%的初始值
x (1) = 193929400;
vx (1) = -5.909;
v (1) = 50.00294822;
(ax (1), ay (1)] = newaccel (x (1), y (1));
n =元素个数(y);
我= 1:n - 1
vx (i + 1) = vx (i) + h * ax(我);
v (i + 1) = v (i) + h *啊(我);
(i + 1) = y (i) + h * v (i + 1);
x (i + 1) = x(我)+ h * vx (i + 1);
(ax (i + 1), ay (i + 1) = newaccel (x (i + 1), y (i + 1));
结束
情节(x, y),网格
函数[a_newx, a_newy] = newaccel (Xx_n Xy_n)
X_n = [Xx_n * 1000, Xy_n * 1000);
G = 6.67408 e-11;
= 1.989 e30女士;
mag_X =√X_n (1)。^ 2 + X_n (2) ^ 2);
a_new = (- (G *女士)/ (mag_X) ^ 3) * (X_n);%此处无需vpa
a_newx = a_new (1) / 1000;
a_newy = a_new (2) / 1000;
结束

类别

找到更多的在纸牌游戏帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!