圆锥曲线 | 离心率 |
圆 | 0 |
椭圆 | >0, <1 |
抛物线 | 1 |
双曲线 | >1 |
圆
我们看过数学老师给他老婆写的情书:我们的心是个圆形,因为圆的离心率是零
好了,废话不多说了,编程序
x0=0;y0=0;%圆心为坐标原点
aplha=0:pi/100:2*pi;
%不能直接用x和y表示圆的方程,这种情况下计算机是无法识别的
%必须用极坐标表示法重新定义一个自变量alpha也就是角度,并划定范围从0到360度
x=0+5*cos(aplha);
y=0+5*sin(aplha);
plot(x,y,'-k');
xlim([-5,5])
ylim([-5,5])
axis equal
运行结果如下图所示
椭圆
clear
aplha=0:pi/100:2*pi;
%长轴的长度为6*sqrt(3),短轴的长度为6
x=0+3*sqrt(3)*cos(aplha);
y=0+3*sin(aplha);
plot(x,y,'-k');
xlim([-6,6])
ylim([-4,4])
axis equal
运行结果如图所示
抛物线
clear
x=0:0.001:16;
y=sqrt(4*x);
plot(x,y,'-k',x,-y,'-k');
xlim([0,16])
ylim([-8,8])
axis equal
运行结果如图所示
双曲线(这个代码太复杂了,下期我给大家发简单点儿的)
close all
a=2;b=1.2;
c=sqrt(a^2+b^2);
C='black';
y=-3:.1:3;
xa=sqrt(1+y.^2/b^2)*a;
xd=-sqrt(1+y.^2/b^2)*a;
figure;
plot(xa,y,'linewidth',2,'color',C);
hold on;
plot(xd,y,'linewidth',2,'color',C);
ylim([-4,4]);
plot([0,0],[-4,4],'linewidth',2,'color',C);
fill([-0.15,0,0.15],[3.5,4,3.5],'k');
plot([-6,6],[0,0],'linewidth',2,'color',C);
fill([5.5,6,5.5],[0.12,0,-0.12],'k')
xf=a^2/c;
plot([xf,xf],[-3.2,3.2],'linewidth',2,...
'linestyle',':','color',C);
plot(c,0,'.','color',C,'markersize',16);
plot(-c,0,'.','color',C,'markersize',16);
text(5.6,-0.5,'X','fontsize',14,'fontname',' 宋体');
text(0.4,3.5,'Y','fontsize',14,'fontname','宋体');
text(-0.3,-0.3,'O','fontsize',14,'fontname',' 宋体');
text(c+0.1,-0.3,'F2','fontsize',14,'fontname','宋体');
text(-c- 0.3,-0.3,'F1','fontsize',14,'fontname','宋体');
plot(3,sqrt(9/a^2-1)*b,'.','color',C,'markersize',18);
plot(xf,1,'.','color',C,'markersize',18);
x1=3;y1=sqrt(9/a^2-1)*b;x2=xf;y2=1;
P=polyfit([x1,x2],[y1,y2],1);
xt=xf:.1:5;
yt=polyval(P,xt);
plot(xt,yt,'linewidth',2,'color',C);
text(3+0.1,sqrt(9/a^2-1)*b-0.2,'P','fontsize',14,...
'fontname',' 宋体');
text(x2-0.5,y2,'P1','fontsize',14,'fontname','宋体');
plot(xt(end),yt(end),'.','color',C,'markersize',18);
text(xt(end)+0.2,yt(end),'A','fontsize',14,...
'fontname',' 宋体');
plot([xf,xt(end)],[yt(end),yt(end)],':',...
'linewidth',2,'color',C);
plot([c,x1],[0,y1],'linewidth',2,'color',C);
text(-0.4,-4.5,' 图1','fontsize',14,'fontname','宋体');
axis off;set(gcf,'color','w');
运行结果如图所示