untitled.m

来自「可以画出双曲线的图形,比较好用,同时也可为大家编写画其他函数曲线提供借鉴.」· M 代码 · 共 46 行

M
46
字号
% pic 1 
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'); 

⌨️ 快捷键说明

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