Red de conocimiento informático - Aprendizaje de programación - 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.

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.

%Este es un programa que demuestra el satélite Chang'e orbitando la luna.

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

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