程序代码: (代码标记 [code]...[/code] )
1-32是:图形应用篇 33-66是:界面设计篇 67-84是:图形处理篇 85-100是:数值分析篇
实例1:三角函数曲线(1) function shili01
h0=figure('toolbar','none',... 'position',[198 56 350 300],... 'name','实例01'); h1=axes('parent',h0,... 'visible','off'); x=-pi:0.05:pi; y=sin(x); plot(x,y); xlabel('自变量X'); ylabel('函数值Y'); title('SIN( )函数曲线'); grid on
实例2:三角函数曲线(2) function shili02
h0=figure('toolbar','none',... 'position',[200 150 450 350],... 'name','实例02'); x=-pi:0.05:pi; y=sin(x)+cos(x);
plot(x,y,'-*r','linewidth',1); grid on
xlabel('自变量X'); ylabel('函数值Y'); title('三角函数');
实例3:图形的叠加 function shili03
h0=figure('toolbar','none',... 'position',[200 150 450 350],... 'name','实例03'); x=-pi:0.05:pi; y1=sin(x); y2=cos(x); plot(x,y1,... '-*r',... x,y2,... '--og'); grid on
xlabel('自变量X'); ylabel('函数值Y'); title('三角函数');
实例4:双y轴图形的绘制 function shili04
h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例04');
x=0:900;a=1000;b=0.005; y1=2*x; y2=cos(b*x);
[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot'); axes(haxes(1)) ylabel('semilog plot'); axes(haxes(2)) ylabel('linear plot');
实例5:单个轴窗口显示多个图形 function shili05
h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例05'); t=0:pi/10:2*pi;
[x,y]=meshgrid(t); subplot(2,2,1) plot(sin(t),cos(t)) axis equal subplot(2,2,2) z=sin(x)-cos(y); plot(t,z)
axis([0 2*pi -2 2]) subplot(2,2,3) h=sin(x)+cos(y); plot(t,h)
axis([0 2*pi -2 2]) subplot(2,2,4)
g=(sin(x).^2)-(cos(y).^2); plot(t,g)
axis([0 2*pi -1 1])
实例6:图形标注 function shili06
h0=figure('toolbar','none',... 'position',[200 150 450 400],... 'name','实例06'); t=0:pi/10:2*pi; h=plot(t,sin(t));
xlabel('t=0到2\\pi','fontsize',16); ylabel('sin(t)','fontsize',16);
title('\\it{从 0to2\\pi 的正弦曲线}','fontsize',16) x=get(h,'xdata'); y=get(h,'ydata'); imin=find(min(y)==y); imax=find(max(y)==y); text(x(imin),y(imin),...
['\\leftarrow最小值=',num2str(y(imin))],... 'fontsize',16)
text(x(imax),y(imax),...
['\\leftarrow最大值=',num2str(y(imax))],... 'fontsize',16)
实例7:条形图形 function shili07
h0=figure('toolbar','none',... 'position',[200 150 450 350],... 'name','实例07');
tiao1=[562 548 224 545 41 445 745 512]; tiao2=[47 48 57 58 54 52 65 48]; t=0:7; bar(t,tiao1) xlabel('X轴'); ylabel('TIAO1值'); h1=gca;
h2=axes('position',get(h1,'position')); plot(t,tiao2,'linewidth',3)
set(h2,'yaxislocation','right','color','none','xticklabel',[])
实例8:区域图形 function shili08
h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例08'); x=91:95;
profits1=[88 75 84 93 77]; profits2=[51 64 54 56 68]; profits3=[42 54 34 25 24]; profits4=[26 38 18 15 4];
area(x,profits1,'facecolor',[0.5 0.9 0.6],... 'edgecolor','b',... 'linewidth',3) hold on
area(x,profits2,'facecolor',[0.9 0.85 0.7],... 'edgecolor','y',... 'linewidth',3)
hold on
area(x,profits3,'facecolor',[0.3 0.6 0.7],... 'edgecolor','r',... 'linewidth',3) hold on
area(x,profits4,'facecolor',[0.6 0.5 0.9],... 'edgecolor','m',... 'linewidth',3) hold off
set(gca,'xtick',[91:95]) set(gca,'layer','top')
gtext('\\leftarrow第一季度销量') gtext('\\leftarrow第二季度销量') gtext('\\leftarrow第三季度销量') gtext('\\leftarrow第四季度销量') xlabel('年','fontsize',16); ylabel('销售量','fontsize',16);
实例9:饼图的绘制 function shili09
h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例09'); t=[54 21 35; 68 54 35; 45 25 12; 48 68 45; 68 54 69]; x=sum(t); h=pie(x);
textobjs=findobj(h,'type','text'); str1=get(textobjs,{'string'}); val1=get(textobjs,{'extent'}); oldext=cat(1,val1{:});
names={'商品一:';'商品二:';'商品三:'}; str2=strcat(names,str1); set(textobjs,{'string'},str2)