Matlab, cómo hacer que la Tierra gire alrededor del Sol y la Luna gire alrededor de la Tierra al mismo tiempo en aproximadamente un minuto, realizando dinámicamente un movimiento circular en un espacio bidimensional.
Elimina las pistas de satélite y obtendrás el programa que deseas
figure('name','Chang'e-1 and the Moon and Earth');%Establece el nombre del título
s1=[ 0:.01:2*pi];
mantener; eje igual; % Crear sistema de coordenadas
eje fuera % Eliminar eje de coordenadas
r1= 10;% La distancia promedio de la luna a la tierra
r2=3;% La distancia promedio de Chang'e-1 a la luna
w1=1; %Establece la velocidad angular de rotación lunar
w2=12%Establece la velocidad angular de rotación de Chang'e-1 alrededor de la luna
t=0;%El tiempo inicial es 0
pausetime=.002;%Establece el tiempo de pausa
sita1=0;sita2=0;%Establece el punto de inicio, todos están en la línea horizontal
set(gcf,'doublebuffer','on') %Eliminar jitter
plot(- 20,18,'color','r','marker','.' ,'markersize', 40);
text(- 17,18,'Tierra');% Marca la Tierra
p1=plot(- 20,16,'color','b', 'marker','.' ,'markersize',20);
text( -17,16,'moon');% marca la luna
p1=plot(- 20,14,'color','w','marcador','.' ,'tamaño del marcador',13 );
text(-17,14,'Chang'e-1'); %Marcador para Chang'e-1
plot(0,0,'color', 'r','marker','.' ,'markersize',60); %Traza la Tierra
plot(0,0,'color', 'r','marker','.' ,'markersize',60); p>
plot(r1*cos(s1),r1*sin(s1)); %Trazar la órbita de la luna
set(gca,'xlim',[-20 20],'ylim ',[-20 20]);
p1=plot(r1*cos(sita1), r1*sin(sita1),'color','b','marcador','.,' Markersize',30);% Dibuja la posición inicial de la luna
l1=plot(r1*cos( sita1)+r2*cos(sita1),r1*sin(sita1)+r2*sin( sita1)); dibuja la órbita de Chang'e-1 alrededor de la luna
p2x=r1*cos(sita1)+r2 *cos(sita2);p2y=r1*sin(sita1)+r2* sin(sita2);
p2=plot(p2x,p2y,'w','marker','.,'markerize ',20);% Dibuja la posición inicial de Chang'e-1
orbit=line('xdata',p2x,'ydata',p2y,'color','r'); % Dibujar trayectoria Chang'e -1
mientras 1 p>
set(p1,'xdata','r1*cos(r1),'r1');
p2* sin(sita2);
p2=plot (sita2,p2x,'w','marker','.r1*cos(sita1),'ydata',r1*sin(sita1));% Establecer movimiento lunar
set(l1,' xdata',r1*cos(sita1)+r2*cos(s1),'ydata',r1*sin(sita1)+r2*sin(s1)) ;% Establece el proceso de movimiento de la órbita de Chang'e-1 alrededor del luna
ptempx=r1*co
s(sita1)+r2*cos(sita2);ptempy=r1*sin(sita1)+r2*sin(sita2);
set(p2,'xdata',ptempx,' ydata',ptempy );%set proceso de movimiento de Chang'e-1
p2x=[p2x ptempx]; p2y=[p2y ptempy]
set(orbit,'xdata',p2x,' ydata',p2y); %El proceso de establecer y mostrar la trayectoria de movimiento de Chang'e-1
sita1=sita1+w1*pausetime el ángulo de rotación de la luna con respecto a la tierra
sita2=sita2+w2 *pausetime;% Ángulo de rotación de Chang'e-1 relativo a la luna
pause(pausetime); %Pausa por un tiempo
drawnow
fin