资源简介

航空航天专业卫星轨道设计作业。编程用龙格库塔法对二体运动数值积分,计算地球卫星轨道。包含matlab和python实例。代码比较容易看懂。

资源截图

代码片段和文件信息

function [ PV ] = orbitdynamics_runge_kutta( PVh )

x=P(1);
y=P(2);
z=P(3);
vx=V(1);
vy=V(2);
vz=V(3);

K11=FC1(vx);
K12=FC2(vy);
K13=FC3(vz);
K14=FC4(xyz);
K15=FC5(xyz);
K16=FC6(xyz);
 
x=P(1)+(h/2)*K11;
y=P(2)+(h/2)*K12;
z=P(3)+(h/2)*K13;
vx=V(1)+(h/2)*K14;
vy=V(2)+(h/2)*K15;
vz=V(3)+(h/2)*K16;
 
K21=FC1(vx);
K22=FC2(vy);
K23=FC3(vz);
K24=FC4(xyz);
K25=FC5(xyz);
K26=FC6(xyz);

x=P(1)+(h/2)*K21;
y=P(2)+(h/2)*K22;
z=P(3)+(h/2)*K23;
vx=V(1)+(h/2)*K24;
vy=V(2)+(h/2)*K25;
vz=V(3)+(h/2)*K26;
  
K31=FC1(vx);
K32=FC2(vy);
K33=FC3(vz);
K34=FC4(xyz);
K35=FC5(xyz);
K36=FC6(xyz);


x=P(1)+h*K31;
y=P(2)+h*K32;
z=P(3)+h*K33;
vx=V(1)+h*K34;
vy=V(2)+h*K35;
vz=V(3)+h*K36;

K41=FC1(vx);
K42=FC2(vy);
K43=FC3(vz);
K44=FC4(xyz);
K45=FC5(xyz);
K46=FC6(xyz);

P(1) = P(1)+h/6*(K11+2*K21+2*K31+K41);
P(2) = P(2)+h/6*(K12+2*K22+2*K32+K42);
P(3) = P(3)+h/6*(K13+2*K23+2*K33+K43);
V(1) = V(1)+h/6*(K14+2*K24+2*K34+K44);
V(2) = V(2)+h/6*(K15+2*K25+2*K35+K45);
V(3) = V(3)+h/6*(K16+2*K26+2*K36+K46);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [K]=FC1(vx)
K=vx;
end
 
function [K]=FC2(vy)
K=vy;
end
 
function [K]=FC3(vz)
K=vz;
end
 
function [K]=FC4(xyz)
u=398600.44;
r = sqrt(x^2+y^2+z^2);
K = -u*x/r^3;
end
 
function [K]=FC5(xyz)
u=398600.44;
r = sqrt(x^2+y^2+z^2);
K = -u*y/r^3;
end
 
function [K]=FC6(xyz)
u=398600.44;
r = sqrt(x^2+y^2+z^2);
K = -u*z/r^3;
end



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-14 11:56  matlab实现\
     目录           0  2018-03-07 23:29  matlab实现\离心率为0\
     目录           0  2018-03-07 23:29  matlab实现\离心率为0.6\
     文件        1527  2017-10-06 17:06  matlab实现\离心率为0.6\orbitdynamics_runge_kutta.m
     文件        1835  2017-10-06 17:26  matlab实现\离心率为0.6\orbitdynamic_main.m
     文件     8018551  2017-09-28 14:59  matlab实现\离心率为0.6\Satellite1 J2000 Position Velocity.csv
     文件     3517019  2017-10-06 17:17  matlab实现\离心率为0.6\satelliteposition.mat
     文件        8348  2017-09-28 14:49  matlab实现\离心率为0.6\捕获.PNG
     文件        1527  2017-10-06 17:23  matlab实现\离心率为0\orbitdynamics_runge_kutta.m
     文件        1570  2017-10-06 17:24  matlab实现\离心率为0\orbitdynamic_main.m
     文件     3820122  2017-09-28 10:57  matlab实现\离心率为0\STK_real.mat
     文件     5696752  2017-09-28 10:40  matlab实现\离心率为0\输入初始位置速度.csv
     目录           0  2018-11-14 11:55  python实现\
     文件         749  2018-11-08 14:56  python实现\draw a ball.py
     文件        2248  2018-11-08 14:56  python实现\runge_kutta.py
     文件       80136  2018-11-11 22:04  python实现\x_array.npy
     文件       80136  2018-11-11 22:04  python实现\y_array.npy
     文件       80136  2018-11-11 22:04  python实现\z_array.npy

评论

共有 条评论