bonjours,
en cours on doit faire une simulation du problème des trois corps (terre lune soleil, on considéré la terre comme centre) avec matlab et en utilisant ODE45. on a pas de probleme pour faire tourner la lune autour de la terre en ignorant le soleil.
voila la fonction
function Z=lune(x,Y)
mu=3.986004418e5*3600; %kmcube/second carre G*masse de la terre
r=Y(1:3,1);
v=Y(4:6,1);
Z1=v
Z2=-mu*r/(norm(r))^3
Z=[Z1;Z2];
end
et dans le programme on a
tspan=1:1:dsimul*24*60;
[t,Y]=ode45(@soleil,tspan,Y0);
R=Y(:,1:3);
avec Y0 la position et la vitesse initial de la lune
or lorsque l'on passe a trois corps, j'ai essayer
function [Yl, Ys]=lunefin(x,Yl,Ys)
mut=1.43496159e9;%g*mt kmcube/second carre
mus=4.778976652e14;%g*ms*ml kmcube/second carre
mul=1,7650809e7;%g*ml kmcube/second carre
rl=Y(1:3, 1);% position de la lune
vl=Y(4:6, 1);%vitesse de la lune
rs=Y(1:3, 1);%position du soleil
vs=Y(4:6, 1);
L1=vl
L2=-(mut*rl/(norm(rl))^3)-(mus*(rl-rs)/(norm(rl-rs))^3)%acceleration de la lune
Yl=[L1;L2];
S1=vs
S2=-(mut*rs/(norm(rs))^3)-(mul*(rs-rl)/(norm(rs-rl))^3)
Ys=[S1;S2];
end
tspan=1:1:dsimul*24*60;
[t,Yl,Ys]=ode45(@lunefin,tspan,Yl0;Ys0) ;
size(Ys)
size(Yl)
Rs=Ys(:,1:3);
Rl=Yl(:,1:3);
mais si ça marcher je n'aurait pas eu besoin de vous demander de l'aide, donc si vous trouver la raison de l'erreur merci de me le dire
tibo
-----