《matlab编程实例100例.doc》由会员分享,可在线阅读,更多相关《matlab编程实例100例.doc(630页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datematlab编程实例100例matlab编程实例100例1-32是:图形应用篇33-66是:界面设计篇67-84是:图形处理篇85-100是:数值分析篇实例1:三角函数曲线(1)function shili01h0=figure(toolbar,none,. position,198 56 350 300,. name,实例01);h1=axes(parent,h0,
2、. visible,off);x=-pi:0.05:pi;y=sin(x);plot(x,y);xlabel(自变量X);ylabel(函数值Y);title(SIN( )函数曲线);grid on实例2:三角函数曲线(2)function shili02h0=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 onxlabel(自变量X);ylabel(函数值Y);title(三角函数);实例3:图形的叠
3、加function shili03h0=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 onxlabel(自变量X);ylabel(函数值Y);title(三角函数);实例4:双y轴图形的绘制function shili04h0=figure(toolbar,none,. position,200 150 450 250,. name,实例04);x=0:900;a=1000;b=0.0
4、05;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 shili05h0=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)ax
5、is equalsubplot(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 shili06h0=figure(toolbar,none,. position,200 150 450 400,. name,实例06);t=0:pi/10:2*pi;h=plot(t,sin(t
6、);xlabel(t=0到2pi,fontsize,16);ylabel(sin(t),fontsize,16);title(it从 0to2pi 的正弦曲线,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
7、:条形图形function shili07h0=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,x
8、ticklabel,)实例8:区域图形function shili08h0=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 onarea(x,profits2,facecolor,
9、0.9 0.85 0.7,. edgecolor,y,. linewidth,3)hold onarea(x,profits3,facecolor,0.3 0.6 0.7,. edgecolor,r,. linewidth,3)hold onarea(x,profits4,facecolor,0.6 0.5 0.9,. edgecolor,m,. linewidth,3)hold offset(gca,xtick,91:95)set(gca,layer,top)gtext(leftarrow第一季度销量)gtext(leftarrow第二季度销量)gtext(leftarrow第三季度销量)g
10、text(leftarrow第四季度销量)xlabel(年,fontsize,16);ylabel(销售量,fontsize,16); 实例9:饼图的绘制function shili09h0=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,e
11、xtent);oldext=cat(1,val1:);names=商品一:;商品二:;商品三:;str2=strcat(names,str1);set(textobjs,string,str2)val2=get(textobjs,extent);newext=cat(1,val2:);offset=sign(oldext(:,1).*(newext(:,3)-oldext(:,3)/2;pos=get(textobjs,position);textpos=cat(1,pos:);textpos(:,1)=textpos(:,1)+offset;set(textobjs,position,num
12、2cell(textpos,3,2)实例10:阶梯图function shili10h0=figure(toolbar,none,. position,200 150 450 400,. name,实例10);a=0.01;b=0.5;t=0:10;f=exp(-a*t).*sin(b*t);stairs(t,f)hold onplot(t,f,:*)hold offglabel=函数e-(alpha*t)sinbeta*t的阶梯图;gtext(glabel,fontsize,16)xlabel(t=0:10,fontsize,16)axis(0 10 -1.2 1.2)实例11:枝干图fun
13、ction shili11h0=figure(toolbar,none,. position,200 150 450 350,. name,实例11);x=0:pi/20:2*pi;y1=sin(x);y2=cos(x);h1=stem(x,y1+y2);hold onh2=plot(x,y1,r,x,y2,*g);hold offh3=h1(1);h2;legend(h3,y1+y2,y1=sin(x),y2=cos(x)xlabel(自变量X);ylabel(函数值Y);title(正弦函数与余弦函数的线性组合);实例12:罗盘图function shili12h0=figure(tool
14、bar,none,. position,200 150 450 250,. name,实例12);winddirection=54 24 65 84 256 12 235 62 125 324 34 254;windpower=2 5 5 3 6 8 12 7 6 14 10 8;rdirection=winddirection*pi/180;x,y=pol2cart(rdirection,windpower);compass(x,y);desc=风向和风力, 北京气象台, 10月1日0:00到, 10月1日12:00;gtext(desc)实例13:轮廓图function shili13h0
15、=figure(toolbar,none,. position,200 150 450 250,. name,实例13);th,r=meshgrid(0:10:360)*pi/180,0:0.05:1);x,y=pol2cart(th,r);z=x+i*y;f=(z.4-1).(0.25);contour(x,y,abs(f),20)axis equalxlabel(实部,fontsize,16);ylabel(虚部,fontsize,16);h=polar(0 2*pi,0 1);delete(h)hold oncontour(x,y,abs(f),20)实例14:交互式图形function
16、 shili14h0=figure(toolbar,none,. position,200 150 450 250,. name,实例14);axis(0 10 0 10);hold onx=;y=;n=0;disp(单击鼠标左键点取需要的点);disp(单击鼠标右键点取最后一个点);but=1;while but=1 xi,yi,but=ginput(1); plot(xi,yi,bo) n=n+1; disp(单击鼠标左键点取下一个点); x(n,1)=xi; y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts)
17、;plot(xs,ys,r-);hold off实例14:交互式图形function shili14h0=figure(toolbar,none,. position,200 150 450 250,. name,实例14);axis(0 10 0 10);hold onx=;y=;n=0;disp(单击鼠标左键点取需要的点);disp(单击鼠标右键点取最后一个点);but=1;while but=1 xi,yi,but=ginput(1); plot(xi,yi,bo) n=n+1; disp(单击鼠标左键点取下一个点); x(n,1)=xi; y(n,1)=yi;endt=1:n;ts=1
18、:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,r-);hold off实例15:变换的傅立叶函数曲线function shili15h0=figure(toolbar,none,. position,200 150 450 250,. name,实例15);axis equalm=moviein(20,gcf);set(gca,nextplot,replacechildren)h=uicontrol(style,slider,position,. 100 10 500 20,min,1,max,20)for j=1:20 plot(
19、fft(eye(j+16) set(h,value,j) m(:,j)=getframe(gcf);endclf;axes(position,0 0 1 1);movie(m,30)实例16:劳伦兹非线形方程的无序活动function shili15h0=figure(toolbar,none,. position,200 150 450 250,. name,实例15);axis equalm=moviein(20,gcf);set(gca,nextplot,replacechildren)h=uicontrol(style,slider,position,. 100 10 500 20,m
20、in,1,max,20)for j=1:20 plot(fft(eye(j+16) set(h,value,j) m(:,j)=getframe(gcf);endclf;axes(position,0 0 1 1);movie(m,30)实例17:填充图function shili17h0=figure(toolbar,none,. position,200 150 450 250,. name,实例17);t=(1:2:15)*pi/8;x=sin(t);y=cos(t);fill(x,y,r)axis square offtext(0,0,STOP,. color,1 1 1,. font
21、size,50,. horizontalalignment,center)例18:条形图和阶梯形图function shili18h0=figure(toolbar,none,. position,200 150 450 250,. name,实例18);subplot(2,2,1)x=-3:0.2:3;y=exp(-x.*x);bar(x,y)title(2-D Bar Chart)subplot(2,2,2)x=-3:0.2:3;y=exp(-x.*x);bar3(x,y,r)title(3-D Bar Chart)subplot(2,2,3)x=-3:0.2:3;y=exp(-x.*x)
22、;stairs(x,y)title(Stair Chart)subplot(2,2,4)x=-3:0.2:3;y=exp(-x.*x);barh(x,y)title(Horizontal Bar Chart) 实例19:三维曲线图function shili19h0=figure(toolbar,none,. position,200 150 450 400,. name,实例19);subplot(2,1,1)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x);z2=0.5*z1;z3=z1;plo
23、t3(x,y1,z1,x,y2,z2,x,y3,z3)grid onxlabel(X轴);ylabel(Y轴);zlabel(Z轴);title(Figure1:3-D Plot)subplot(2,1,2)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x);z2=0.5*z1;z3=z1;plot3(x,z1,y1,x,z2,y2,x,z3,y3)grid onxlabel(X轴);ylabel(Y轴);zlabel(Z轴);title(Figure2:3-D Plot)实例20:图形的隐藏属性fu
24、nction shili20h0=figure(toolbar,none,. position,200 150 450 300,. name,实例20);subplot(1,2,1)x,y,z=sphere(10);mesh(x,y,z)axis offtitle(Figure1:Opaque)hidden onsubplot(1,2,2)x,y,z=sphere(10);mesh(x,y,z)axis offtitle(Figure2:Transparent)hidden off实例21PEAKS函数曲线function shili21h0=figure(toolbar,none,. pos
25、ition,200 100 450 450,. name,实例21);x,y,z=peaks(30);subplot(2,1,1)x=x(1,:);y=y(:,1);i=find(y0.8&y-0.6&x0.8&y-0.6&x0.5);z(i,j)=nan*z(i,j);surfl(x,y,z)xlabel(X轴);ylabel(Y轴);zlabel(Z轴);title(Figure2:surfl函数形成的曲面) 实例22:片状图function shili22h0=figure(toolbar,none,. position,200 150 550 350,. name,实例22);subp
26、lot(1,2,1)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trimesh(t,x,y,z)hidden offtitle(Figure1:Triangular Surface Plot);subplot(1,2,2)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trisurf(t,x,y,z)title(Figure1:Triangular Surface Plot);实例23:视角的调整function shili23h0=figure(tool
27、bar,none,. position,200 150 450 350,. name,实例23);x=-5:0.5:5;x,y=meshgrid(x);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;subplot(2,2,1)surf(x,y,z)xlabel(X-axis)ylabel(Y-axis)zlabel(Z-axis)title(Figure1)view(-37.5,30)subplot(2,2,2)surf(x,y,z)xlabel(X-axis)ylabel(Y-axis)zlabel(Z-axis)title(Figure2)view(-37.5+90,30
28、)subplot(2,2,3)surf(x,y,z)xlabel(X-axis)ylabel(Y-axis)zlabel(Z-axis)title(Figure3)view(-37.5,60)subplot(2,2,4)surf(x,y,z)xlabel(X-axis)ylabel(Y-axis)zlabel(Z-axis)title(Figure4)view(180,0)实例24:向量场的绘制function shili24h0=figure(toolbar,none,. position,200 150 450 350,. name,实例24);subplot(2,2,1)z=peaks;
29、ribbon(z)title(Figure1)subplot(2,2,2)x,y,z=peaks(15);dx,dy=gradient(z,0.5,0.5);contour(x,y,z,10)hold onquiver(x,y,dx,dy)hold offtitle(Figure2)subplot(2,2,3)x,y,z=peaks(15);nx,ny,nz=surfnorm(x,y,z);surf(x,y,z)hold onquiver3(x,y,z,nx,ny,nz)hold offtitle(Figure3)subplot(2,2,4)x=rand(3,5);y=rand(3,5);z=
30、rand(3,5);c=rand(3,5);fill3(x,y,z,c)grid ontitle(Figure4)实例25:灯光定位function shili25h0=figure(toolbar,none,. position,200 150 450 250,. name,实例25);vert=1 1 1;1 2 1; 2 2 1;2 1 1; 1 1 2;1 2 2; 2 2 2;2 1 2;fac=1 2 3 4;2 6 7 3; 4 3 7 8;1 5 8 4; 1 2 6 5;5 6 7 8;grid offsphere(36)h=findobj(type,surface);set
31、(h,facelighting,phong,. facecolor,. interp,. edgecolor,0.4 0.4 0.4,. backfacelighting,. lit)hold onpatch(faces,fac,vertices,vert,. facecolor,y);light(position,1 3 2);light(position,-3 -1 3);material shinyaxis vis3d offhold off实例26:柱状图function shili26h0=figure(toolbar,none,. position,200 50 450 450,.
32、 name,实例26);subplot(2,1,1)x=5 2 1 8 7 3 9 8 6 5 5 5 4 3 2;bar(x)xlabel(X轴);ylabel(Y轴);title(第一子图);subplot(2,1,2)y=5 2 1 8 7 3 9 8 6 5 5 5 4 3 2;barh(y)xlabel(X轴);ylabel(Y轴);title(第二子图);实例27:设置照明方式function shili27h0=figure(toolbar,none,. position,200 150 450 350,. name,实例27);subplot(2,2,1)sphereshadi
33、ng flatcamlight leftcamlight rightlighting flatcolorbaraxis offtitle(Figure1)subplot(2,2,2)sphereshading flatcamlight leftcamlight rightlighting gouraudcolorbaraxis offtitle(Figure2)subplot(2,2,3)sphereshading interpcamlight rightcamlight leftlighting phongcolorbaraxis offtitle(Figure3)subplot(2,2,4
34、)sphereshading flatcamlight leftcamlight rightlighting nonecolorbaraxis offtitle(Figure4)实例28:羽状图function shili28h0=figure(toolbar,none,. position,200 150 450 350,. name,实例28);subplot(2,1,1)alpha=90:-10:0;r=ones(size(alpha);m=alpha*pi/180;n=r*10;u,v=pol2cart(m,n);feather(u,v)title(羽状图)axis(0 20 0 10
35、)subplot(2,1,2)t=0:0.5:10;x=0.05+i;y=exp(-x*t);feather(y)title(复数矩阵的羽状图)实例29:立体透视(1)function shili29h0=figure(toolbar,none,. position,200 150 450 250,. name,实例29);x,y,z=meshgrid(-2:0.1:2,. -2:0.1:2,. -2:0.1:2);v=x.*exp(-x.2-y.2-z.2);grid onfor i=-2:0.5:2; h1=surf(linspace(-2,2,20),. linspace(-2,2,20
36、),. zeros(20)+i); rotate(h1,1 -1 1,30) dx=get(h1,xdata); dy=get(h1,ydata); dz=get(h1,zdata); delete(h1) slice(x,y,z,v,-2 2,2,-2) hold on slice(x,y,z,v,dx,dy,dz) hold off axis tight view(-5,10) drawnowend实例30:立体透视(2)function shili30h0=figure(toolbar,none,. position,200 150 450 250,. name,实例30);x,y,z=
37、meshgrid(-2:0.1:2,. -2:0.1:2,. -2:0.1:2);v=x.*exp(-x.2-y.2-z.2);dx,dy,dz=cylinder;slice(x,y,z,v,-2 2,2,-2)for i=-2:0.2:2 h=surface(dx+i,dy,dz); rotate(h,1 0 0,90) xp=get(h,xdata); yp=get(h,ydata); zp=get(h,zdata); delete(h) hold on hs=slice(x,y,z,v,xp,yp,zp); axis tight xlim(-3 3) view(-10,35) drawn
38、ow delete(hs) hold offend实例31:表面图形function shili31h0=figure(toolbar,none,. position,200 150 550 250,. name,实例31);subplot(1,2,1)x=rand(100,1)*16-8;y=rand(100,1)*16-8;r=sqrt(x.2+y.2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),33);ylin=linspace(min(y),max(y),33);X,Y=meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y,cubic);mesh(X,