行星轨道的绘制 【例5-2-2】根据开普勒定律,当忽略其他天体引力,在 一个大天体引力下的小天体应该取椭圆、抛物线或双曲线 轨道。它相对于大天体的极坐标位置应满足下列方程: p=B+spcos0 其中ε为偏心率,B为常数,p为向径而阳为极角,所取 的轨道形状由偏心率决定。试画出天体轨道,讨论参数β, ε对轨道形状的影响。 ·解:◆建模:移项,将方程变换为 B 1-gcos0 其中自变量为theta,因变量为rho。beta和epsilon为参数
行星轨道的绘制 • 【例5-2-2】 根据开普勒定律,当忽略其他天体引力,在 一个大天体引力下的小天体应该取椭圆、抛物线或双曲线 轨道。它相对于大天体的极坐标位置应满足下列方程: • 其中ε为偏心率,β为常数,ρ为向径而θ为极角,所取 的轨道形状由偏心率决定。试画出天体轨道,讨论参数β, ε对轨道形状的影响。 • 解:◆建模: 移项,将方程变换为 其中自变量为theta,因变量为rho。beta和epsilon为参数。 = + cos 1 cos = −
行星轨道绘制程序exn522 theta=0:0.1:2*pi;%产生自变量向量 beta=inpute(beta=(取为1); for i=1:3 %设置小于1,等于1,大于1的三种偏心率 epsilon=input('epsilon=(依次取为0.5,1,1.5); rho=beta./(1-epsilon.*cos(heta);%求因变量 subplot(1,3,i),polar(theta,rho);%绘图 end
行星轨道绘制程序exn522 theta=0:0.1:2*pi; % 产生自变量向量 beta= input('beta= (取为1)'); for i=1:3 % 设置小于1,等于1,大于1的三种偏心率 epsilon=input('epsilon= (依次取为0.5,1,1.5)'); rho=beta./(1- epsilon.*cos(theta)); %求因变量 subplot(1,3,i),polar(theta,rho); %绘图 end
行星轨道绘制程序运行的结果 。 其中第三个图比例尺太大,看不出原点附近的情 况。因此键入改变图形比例尺的语句: subplot(1,3,3),axis(L-2,2,-2,2]) 。 改变beta将成比例地改变轨道的直径。 (a)8<1 90 b)=1 901 (c)e>1 120 60 20 60 150 150 05 18 181 210 21 240 240
行星轨道绘制程序运行的结果 • 其中第三个图比例尺太大,看不出原点附近的情 况。因此键入改变图形比例尺的语句: subplot(1,3,3),axis([-2,2,-2,2]) • 改变beta将成比例地改变轨道的直径
直角坐标系中椭圆的绘制 ·直角坐标中的椭圆方程为: 。 绘图时把y表示为x的显函数 a2 y=±bV1-x2/a2 ·这里正负号必须都要考虑,否则画出的椭圆就少 了一半。设a=3,b=2,程序可编写如下: x=linspace(-pi,pi,1001); %自变量数组 ·y1=2*sqt(1-x.2/32); %上半部因变量计算 ·y2=-2*sqt(1-X.2/3^2); %下半部因变量计算 plot(x,[y1;y2]),grid on %两半图都画 。axis equal %X,y轴同比例
直角坐标系中椭圆的绘制 • 直角坐标中的椭圆方程为: • 绘图时把y表示为x的显函数 • 这里正负号必须都要考虑,否则画出的椭圆就少 了一半。设a=3,b=2,程序可编写如下: • x=linspace(-pi,pi,1001); % 自变量数组 • y1=2*sqrt(1-x.^2/3^2); % 上半部因变量计算 • y2=-2*sqrt(1-x.^2/3^2); % 下半部因变量计算 • plot(x,[y1;y2]),grid on % 两半图都画 • axis equal % x,y轴同比例 2 2 2 2 1 x y a b + = 2 2 y b x a = −1 /
参数法绘制直角坐标中的椭圆 ·用参数方程的形式作图也许更为方便,因为它不 必考虑开方的正负号和出现的虚数。椭圆的参数 方程形式如下: x=acose,y=bsine 因此自变量可以设为theta,其范围为0~2π。 theta=linspace(-pi,pi,1001); plot(3*cos(theta),2*sin(theta),%省略了变量a,b grid on,axis equal ·得出的图形是一样的
参数法绘制直角坐标中的椭圆 • 用参数方程的形式作图也许更为方便,因为它不 必考虑开方的正负号和出现的虚数。椭圆的参数 方程形式如下: 因此自变量可以设为theta,其范围为0~2π。 theta= linspace(-pi,pi,1001); plot(3*cos(theta),2*sin(theta)),%省略了变量a,b grid on,axis equal • 得出的图形是一样的。 x a y b = = cos , sin