weixing1.m

来自「这是一个用matlab模仿的地球同步卫星发射过程。是我学习matlab时编的」· M 代码 · 共 78 行

M
78
字号
a=0:0.01:2*pi;
x1=3.2*cos(a);
y1=3.2*sin(a);
x2=0:0.1:0.5*pi;
y2=3.2+0.45/(0.5*pi)*(x2-0.5*pi).^2;
x3=3.9*cos(a);
y3=3.9*sin(a);
x4=-0.55+4.45*cos(a);
y4=4.415*sin(a);
x5=5*cos(a);
y5=5*sin(a);
r=3.2;
c=0;
d=0;
x6=r*cos(0.5*pi-c); 
y6=r*sin(0.5*pi-c); 
H6=plot(x6,y6,'r.','markersize',24);
hold on
fill(x1,y1,'c');
title('同步卫星发射示意图');
xlabel('/2*10^6');
ylabel('/2*10^6');
text(0,0,'地球');
text(0,4,'\leftarrow停泊轨道');
text(1.8,0,'近地点\rightarrow');
text(-5,0,'\leftarrow远地点');
text(3,-4,'\leftarrow同步轨道');
polar(x2,y2,'r');
plot(x3,y3,'k');
plot(x4,y4,'r');
plot(x5,y5);
axis([-6,6,-6,6]); 
axis square; 
k=1;
i=0;
j=0;
g=0.5*pi/10;
set(gcf,'doublebuffer','on'); 
while k;
   c=c+g;   
   if k==1;
       r=3.2+0.45/(0.5*pi)*c.^2;
       x6=r*cos(0.5*pi-c); 
       y6=r*sin(0.5*pi-c); 
       set(H6,'xdata',x6,'ydata',y6);
       if(c==0.5*pi)
           c=0;
       end
       if r>=3.9
           k=2;
       end
   elseif k==2;
           r=3.9;
           x6=r*cos(-c); 
           y6=r*sin(-c); 
           set(H6,'xdata',x6,'ydata',y6);
           i=i+1;
           if i==40;
               k=3;
           end
    elseif k==3;
            x6=-0.55+4.45*cos(-c);
            y6=4.415*sin(-c);
            set(H6,'xdata',x6,'ydata',y6);
            j=j+1;
            if j==60;
                k=4;
            end
   elseif k==4
        r=5;
        x6=r*cos(-c); 
        y6=r*sin(-c); 
        set(H6,'xdata',x6,'ydata',y6);
    end
    pause(0.1); 
end
figure(gcf);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?