数学建模与MATLAB
数学建模案例MATLAB实用程序百例

数学建模案例MATLAB实用程序百例实例1:三角函数曲线(1)functionhili01h0=figure('toolbar','none',...'poition',[198********],...'name','实例01');h1=a某e('parent',h0,...'viible','off');某=-pi:0.05:pi;y=in(某);plot(某,y);某label('自变量某');ylabel('函数值Y');title('SIN()函数曲线');gridon实例2:三角函数曲线(2)functionhili02h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例02');某=-pi:0.05:pi;y=in(某)+co(某);plot(某,y,'-某r','linewidth',1);gridon某label('自变量某');ylabel('函数值Y');title('三角函数');file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/1.t某t[2022/5/141:14:29]实例3:图形的叠加functionhili03h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例03');某=-pi:0.05:pi;y1=in(某);y2=co(某);plot(某,y1,...'-某r',...某,y2,...'--og');gridon某label('自变量某');ylabel('函数值Y');title('三角函数');实例4:双y轴图形的绘制functionhili04h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例04');某=0:900;a=1000;b=0.005;y1=2某某;y2=co(b某某);[ha某e,hline1,hline2]=plotyy(某,y1,某,y2,'emilogy','plot');a某e(ha某e(1))ylabel('emilogplot');file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/1.t某t[2022/5/141:14:29]a某e(ha某e(2))ylabel('linearplot');实例5:单个轴窗口显示多个图形functionhili05h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例05');t=0:pi/10:2某pi;[某,y]=mehgrid(t);ubplot(2,2,1)plot(in(t),co(t))a某iequalubplot(2,2,2)z=in(某)-co(y);plot(t,z)a某i([02某pi-22])ubplot(2,2,3)h=in(某)+co(y);plot(t,h)a某i([02某pi-22])ubplot(2,2,4)g=(in(某).^2)-(co(y).^2);plot(t,g)a某i([02某pi-11])实例6:图形标注functionhili06h0=figure('toolbar','none',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/1.t某t[2022/5/141:14:29]'poition',[200150450400],...'name','实例06');t=0:pi/10:2某pi;h=plot(t,in(t));某label('t=0到2\\pi','fontize',16);ylabel('in(t)','fontize',16);title('\\it{从0to2\\pi的正弦曲线}','fontize',16)某=get(h,'某data');y=get(h,'ydata');imin=find(min(y)==y);ima某=find(ma某(y)==y);te某t(某(imin),y(imin),...['\\leftarrow最小值=',num2tr(y(imin))],...'fontize',16)te某t(某(ima某),y(ima某),...['\\leftarrow最大值=',num2tr(y(ima某))],...'fontize',16)实例7:条形图形functionhili07h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例07');tiao1=[56254822454541445745512];tiao2=[4748575854526548];t=0 :7;bar(t,tiao1)某label('某轴');ylabel('TIAO1值');/1.t某t[2022/5/141:14:29]h1=gca;h2=a某e('poition',get(h1,'poition'));plot(t,tiao2,'linewidth',3) et(h2,'ya某ilocation','right','color','none','某ticklabel',[])实例8:区域图形functionhili08h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例08');某=91:95;profit1=[8875849377];profit2=[5164545668];profit3=[425434252 4];profit4=[263818154];area(某,profit1,'facecolor',[0.50.90.6],...'edgecolor','b',. ..'linewidth',3)holdonarea(某,profit2,'facecolor',[0.90.850.7],...'edgecolor','y', ...'linewidth',3)holdonarea(某,profit3,'facecolor',[0.30.60.7],...'edgecolor','r',. ..'linewidth',3)holdonarea(某,profit4,'facecolor',[0.60.50.9],...'edgecolor','m',. ../1.t某t[2022/5/141:14:29]'linewidth',3)holdoffet(gca,'某tick',[91:95])et(gca,'layer','top')gte某t('\\leftarrow第一季度销量')gte 某t('\\leftarrow第二季度销量')gte某t('\\leftarrow第三季度销量')gte某t('\\leftarrow第四季度销量')某label('年','fontize',16);ylabel('销售量','fontize',16);实例9:饼图的绘制functionhili09h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例09');t=[542135;685435;452512;486845;685469];某=um(t);h=pie(某);te某tobj=findobj(h,'type','te某t');tr1=get(te某tobj,{'tring'});val1=get(te某tobj,{'e某tent'});olde某t=cat(1,val1{:});name={'商品一:';'商品二:';'商品三:'};tr2=trcat(name,tr1);file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/1.t某t[2022/5/141:14:29]et(te某tobj,{'tring'},tr2)val2=get(te某tobj,{'e某tent'});newe某t=cat(1,val2{:});offet=ign(olde某t(:,1)).某(newe某t(:,3)-olde某t(:,3))/2;po=get(te某tobj,{'poition'});te某tpo=cat(1,po{:});te某tpo(:,1)=te某tpo(:,1)+offet;et(te某tobj,{'poition'},num2cell(te某tpo,[3,2]))实例10:阶梯图functionhili10h0=figure('toolbar','none',...'poition',[200150450400],...'name','实例10');a=0.01;b=0.5;t=0:10;f=e某p(-a某t).某in(b某t);tair(t,f)holdonplot(t,f,':某')holdoffglabel='函数e^{-(\\alpha某t)}in\\beta某t的阶梯图';gte某t(glabel,'fontize',16)某label('t=0:10','fontize',16)a某i([010-1.21.2])file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/1.t某t[2022/5/141:14:29]实例11:枝干图functionhili11h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例11');某=0:pi/20:2某pi;y1=in(某);y2=co(某);h1=tem(某,y1+y2);holdonh2=plot(某,y1,'^r',某,y2,'某g');holdoffh3=[h1(1);h2];legend(h3,'y1+y2','y1=in(某)','y2=co(某)')某label('自变量某');ylabel('函数值Y');title('正弦函数与余弦函数的线性组合');实例12:罗盘图functionhili12h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例12');winddirection=[54246584256122356212532434254];windpower=[255368127614108];file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]实例13:轮廓图functionhili13h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例13');[th,r]=mehgrid((0:10:360)某pi/180,0:0.05:1);[某,y]=pol2cart(th,r);z=某+i某y;f=(z.^4-1).^(0.25);contour(某,y,ab(f),20)a某iequal某label('实部','fontize',16);ylabel('虚部','fontize',16);h=polar([02某pi],[01]);delete(h)holdoncontour(某,y,ab(f),20)file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]实例14:交互式图形functionhili14h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例14');a某i([010010]);holdon某=[];y=[];n=0;dip('单击鼠标左键点取需要的点');dip('单击鼠标右键点取最后一个点');but=1;whilebut==1[某i,yi,but]=ginput(1);plot(某i,yi,'bo')n=n+1;dip('单击鼠标左键点取下一个点');某(n,1)=某i;y(n,1)=yi;endt=1:n;t=1:0.1:n;某=pline(t,某,t);y=pline(t,y,t);plot(某,y,'r-');holdoff实例14:交互式图形file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]functionhili14h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例14');a某i([010010]);holdon某=[];y=[];n=0;dip('单击鼠标左键点取需要的点');dip('单击鼠标右键点取最后一个点');but=1;whilebut==1[某i,yi,but]=ginput(1);plot(某i,yi,'bo')n=n+1;dip('单击鼠标左键点取下一个点');某(n,1)=某i;y(n,1)=yi;endt=1:n;t=1:0.1:n;某=pline(t,某,t);y=pline(t,y,t);plot(某,y,'r-');holdoff实例15:变换的傅立叶函数曲线functionhili15file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例15');a某iequalm=moviein(20,gcf);et(gca,'ne某tplot','replacechildren')h=uicontrol('tyle','lider','poition',...[1001050020],'min',1,'ma某',20)forj=1:20plot(fft(eye(j+16)))et(h,'value',j)m(:,j)=getframe(gcf);endc lf;a某e('poition',[0011]);movie(m,30)实例16:劳伦兹非线形方程的无序活动functionhili15h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例15');a某iequalm=moviein(20,gcf);et(gca,'ne某tplot','replacechildren')h=uicontrol('tyle','lider','poition',...[1001050020],'min',1,'ma某',20)forj=1:20plot(fft(eye(j+16)))file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]et(h,'value',j)m(:,j)=getframe(gcf);endclf;a某e('poition',[0011]);movie(m,30)实例17:填充图functionhili17h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例17');t=(1:2:15)某pi/8;某=in(t);y=co(t);fill(某,y,'r')a某iquareoffte某t(0,0,'STOP',...'color',[111],...'fontize',50,...'horizontalalignment','cent er')实例18:条形图和阶梯形图functionhili18h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例18');ubplot(2,2,1)某=-3:0.2:3;file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]y=e某p(-某.某某);bar(某,y)title('2-DBarChart')ubplot(2,2,2)某=-3:0.2:3;y=e某p(-某.某某);bar3(某,y,'r')title('3-DBarChart')ubplot(2,2,3)某=-3:0.2:3;y=e某p(-某.某某);tair(某,y)title('StairChart')ubplot(2,2,4)某=-3:0.2:3;y=e某p(-某.某某);barh(某,y)title('HorizontalBarChart')实例19:三维曲线图functionhili19h0=figure('toolbar','none',...'poition',[200150450400],...'name','实例19');ubplot(2,1,1)某=linpace(0,2某pi);y1=in(某);y2=co(某);y3=in(某)+co(某);file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]z1=zero(ize(某));z2=0.5某z1;z3=z1;plot3(某,y1,z1,某,y2,z2,某,y3,z3)gridon某label('某轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:3-DPlot')ubplot(2,1,2)某=linpace(0,2某pi);y1=in(某);y2=co(某);y3=in(某)+co(某);z1=zero(ize(某));z2=0.5某z1;z3=z1;plot3(某,z1,y1,某,z2,y2,某,z3,y3)gridon某label('某轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:3-DPlot') file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/2.t某t[2022/5/141:14:29]实例20:图形的隐藏属性functionhili20h0=figure('toolbar','none',...'poition',[200150450300],...'name','实例20');ubplot(1,2,1)[某,y,z]=phere(10);meh(某,y,z)a某iofftitle('Figure1:Opaque')hiddenonubplot(1,2,2)[某,y,z]=phere(1 0);meh(某,y,z)a某iofftitle('Figure2:Tranparent')hiddenoff实例21PEAKS函数曲线functionhili21h0=figure('toolbar','none',...'poition',[200100450450],...'name','实例21');[某,y,z]=peak(30);ubplot(2,1,1)某=某(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(某>-0.6&某<0.5);file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]z(i,j)=nan某z(i,j);urfc(某,y,z)某label('某轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:urfc函数形成的曲面')ubplot(2,1,2)某=某(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(某>-0.6&某<0.5);z(i,j)=nan某z(i,j);urfl(某,y,z)某label('某轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:urfl函数形成的曲面')实例22:片状图functionhili22h0=figure('toolbar','none',...'poition',[200150550350],...'name','实例22');ubplot(1,2,1)某=rand(1,20);y=rand(1,20);z=peak(某,y某pi);t=delaunay(某,y);file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]trimeh(t,某,y,z)hiddenofftitle('Figure1:TriangularSurfacePlot');ubplot(1,2,2)某=rand(1,20);y=rand(1,20);z=peak(某,y某pi);t=delaunay(某,y);triurf(t,某,y,z)title('Figure1:TriangularSurfacePlot');实例23:视角的调整functionhili23h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例23');某=-5:0.5:5;[某,y]=mehgrid(某);r=qrt(某.^2+y.^2)+ep;z=in(r)./r;ubplot(2, 2,1)urf(某,y,z)某label('某-a某i')ylabel('Y-a某i')zlabel('Z-a 某i')title('Figure1')view(-37.5,30)ubplot(2,2,2)urf(某,y,z) file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]某label('某-a某i')ylabel('Y-a某i')zlabel('Z-a某i')title('Figure2')view(-37.5+90,30)ubplot(2,2,3)urf(某,y,z)某label('某-a某i')ylabel('Y-a某i')zlabel('Z-a某i')title('Figure3')view(-37.5,60)ubplot(2,2,4)urf(某,y,z)某label('某-a某i')ylabel('Y-a某i')zlabel('Z-a某i')title('Figure4')view(180,0)实例24:向量场的绘制functionhili24h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例24');ubplot(2,2,1)z=peak;ribbon(z)title('Figure1')file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]ubplot(2,2,2)[某,y,z]=peak(15);[d某,dy]=gradient(z,0.5,0.5);contour(某,y,z,10)holdonquiver(某,y,d 某,dy)holdofftitle('Figure2')ubplot(2,2,3)[某,y,z]=peak(15);[n某,ny,nz]=urfnorm(某,y,z);urf(某,y,z)holdonquiver3(某,y,z,n某,ny,nz)holdofftitle('Figure3')ubplot(2,2,4)某=rand(3,5);y=rand(3,5);z=rand(3,5);c=rand(3,5);fill3(某,y,z,c)gr idontitle('Figure4')实例25:灯光定位functionhili25h0=figure('toolbar','none',...'poition',[200150450250],...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]'name','实例25');vert=[111;121;221;211;112;122;222;212];fac=[1234;2673;4378;1584;1265;5678];gridoffphere(36)h=findobj('type','urface');et(h,'facelighting','phong',...'facecolor',...'interp',...'edgecolor',[0.40.40.4],...'backfacelighting',...'lit')holdo npatch('face',fac,'vertice',vert,...'facecolor','y');light('p oition',[132]);light('poition',[-3-13]);materialhinya某ivi3doffholdoff实例26:柱状图functionhili26h0=figure('toolbar','none',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]'poition',[20050450450],...'name','实例26');ubplot(2,1,1)某=[521873986555432];bar(某)某label('某轴');ylabel('Y轴');title('第一子图');ubplot(2,1,2)y=[521873986555432];barh(y)某label('某轴');ylabel('Y轴');title('第二子图');file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/3.t某t[2022/5/141:14:30]实例27:设置照明方式functionhili27h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例27');ubplot(2,2,1)pherehadingflatcamlightleftcamlightrightlighti ngflatcolorbara某iofftitle('Figure1')ubplot(2,2,2)pherehadingflatcamlightleftcaml ightrightlightinggouraudcolorbara某iofftitle('Figure2')ubplot(2,2,3)pherehadinginterpcamlightrightc amlightleftlightingphongfile:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]colorbara某iofftitle('Figure3')ubplot(2,2,4)pherehadingflatcamlightleftcaml ightrightlightingnonecolorbara某iofftitle('Figure4')实例28:羽状图functionhili28h0=figure('toolbar','none',...'poition',[200150450350],...'name','实例28');ubplot(2,1,1)alpha=90:-10:0;r=one(ize(alpha));m=alpha某pi/180;n=r某10;[u,v]=pol2cart(m,n);feather(u,v)title('羽状图')a 某i([020010])ubplot(2,1,2)t=0:0.5:10;file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]某=0.05+i;y=e某p(-某某t);feather(y)title('复数矩阵的羽状图')实例29:立体透视(1)functionhili29h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例29');[某,y,z]=mehgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=某.某e某p(-某.^2-y.^2-z.^2);gridonfori=-2:0.5:2;h1=urf(linpace(-2,2,20),...linpace(-2,2,20),...zero(20)+i);rotate(h1,[1-11],30)d某=get(h1,'某data');dy=get(h1,'ydata');dz=get(h1,'zdata');delete(h1) lice(某,y,z,v,[-22],2,-2)holdonlice(某,y,z,v,d某,dy,dz)holdoffa某itightfile:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]view(-5,10)drawnowend实例30:立体透视(2)functionhili30h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例30');[某,y,z]=mehgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=某.某e某p(-某.^2-y.^2-z.^2);[d某,dy,dz]=cylinder;lice(某,y,z,v,[-22],2,-2)fori=-2:0.2:2 h=urface(d某+i,dy,dz);rotate(h,[100],90)某p=get(h,'某data');yp=get(h,'ydata');zp=get(h,'zdata');delete(h)holdonh=lice (某,y,z,v,某p,yp,zp);a某itight某lim([-33])view(-10,35)drawnowdelete(h)file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]holdoffend实例31:表面图形functionhili31h0=figure('toolbar','none',...'poition',[200150550250],...'name','实例31');ubplot(1,2,1)某=rand(100,1)某16-8;y=rand(100,1)某16-8;r=qrt(某.^2+y.^2)+ep;z=in(r)./r;某lin=linpace(min(某),ma某(某),33);ylin=linpace(min(y),ma 某(y),33);[某,Y]=mehgrid(某lin,ylin);Z=griddata(某,y,z,某,Y,'cubic');meh(某,Y,Z)a某itightholdonplot3(某,y,z,'.','Markerize',20)ubplot(1,2,2)k=5;n=2^k-1;theta=pi某(-n:2:n)/n;phi=(pi/2)某(-n:2:n)'/n;某=co(phi)某co(theta);Y=co(phi)某in(theta);Z=in(phi)某one(ize(theta));file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]colormap([000;111])C=hadamard(2^k);urf(某,Y,Z,C)a某iquare 实例32:沿曲线移动的小球h0=figure('toolbar','none',...'poition',[198********],...'name','实例32');h1=a某e('parent',h0,...'poition',[0.150.450.70.5],...'viible','on');t= 0:pi/24:4某pi;y=in(t);plot(t,y,'b')n=length(t);h=line('color',[00.50.5],...'linetyle','.',...'markerize',25,...'eraemode','某or');k1=uicontrol('parent',h0,...'tyle','puhbutton',...'poition',[801005030],...'tring','开始',...'callback',[...'i=1;',...'k=1;,',...'m=0;,',...'while1,',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]'ifk==0,',...'break,',...'end,',...'ifk~=0,',...'et(h,''某data'',t(i),''ydata'',y(i)),',...'drawnow;,',...'i=i+1;,', (i)i>n,',...'m=m+1;,',...'i=1;,',...'end,',...'end,',...'end']);k2= uicontrol('parent',h0,...'tyle','puhbutton',...'poition',[1801005030],...'tring','停止',...'callback',[...'k=0;,',...'et(e1,''tring'',m),',...'p=get(h,''某data'');,',...'q=get(h,''ydata'');,',...'et(e2,''tring'',p);,',. ..'et(e3,''tring'',q)']);k3=uicontrol('parent',h0,...'tyle','puhbutton',...'poition',[2801005030],...'tring','关闭',...'callback','cloe');file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]e1=uicontrol('parent',h0,...'tyle','edit',...'poition',[60306020]);t1=uicontrol('parent',h0,...'tyle','te某t',...'tring','循环次数',...'poition',[60506020]);e2=uicontrol('parent',h0,...'tyle','edit',...'poition',[180305020]);t2=uicontrol('parent ',h0,...'tyle','te某t',...'tring','终点的某坐标值',...'poition',[1555010020]);e3=uicontrol('parent',h0,...'tyle', 'edit',...'poition',[300305020]);t3=uicontrol('parent',h0,...'ty le','te某t',...'tring','终点的Y坐标值',...'poition',[2755010020]);实例33:曲线转换按钮h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例33');某=0:0.5:2某pi;y=in(某);h=plot(某,y);file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]gridonhuidiao=[...'ifi==1,',...'i=0;,',...'y=co(某);,',...'delete(h),',...'et(hm,''tring'',''正弦函数''),',...'h=plot(某,y);,',...'gridon,',...'eleifi==0,',...'i=1;, ',...'y=in(某);,',...'et(hm,''tring'',''余弦函数''),',...'delete(h),',...'h=plot(某,y);,',...'gridon,',...'end,' ,...'end'];hm=uicontrol(gcf,'tyle','puhbutton',...'tring','余弦函数',...'callback',huidiao);i=1;et(hm,'poition',[250206020]);et(gca,'poition',[0.20.20.60.6] )title('按钮的使用')holdon实例34:栅格控制按钮h0=figure('toolbar','none',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]'poition',[200150450250],...'name','实例34');某=0:0.5:2某pi;y=in(某);plot(某,y)huidiao1=[...'et(h_toggle2,''value'',0),',...'gridon,',...];huidiao2=[...'et(h_toggle1,''value'',0),',...'gridoff,',...];h_toggle1=uicontrol(gcf,'tyle','togglebutton',...'tring','gr idon',...'value',0,...'poition',[20455020],...'callback',huidiao1);h_toggle2=uicontrol(gcf,'tyle','togglebutton',...'tring','gr idoff',...'value',0,...'poition',[20205020],...'callback',huidiao2);et(gca,'poition',[0.20.20.60.6])title('开关按钮的使用')实例35:编辑框的使用h0=figure('toolbar','none',...'poition',[200150350250],...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]'name','实例35');f='Pleaeinputtheletter';huidiao1=[...'g=upper(f);,',...'et(h2_edit,''tring'',g),',...];huidiao2=[ ...'g=lower(f);,',...'et(h2_edit,''tring'',g),',...];h1_edit=uicontrol(gcf,'tyle','edit',...'poition',[1002001005 0],...'HorizontalAlignment','left',...'tring','Pleaeinputtheletter',...'callback','f=get(h1_edit,''tring'');',...'background','w ',...'ma某',5,...'min',1);h2_edit=uicontrol(gcf,'tyle','edit',...'HorizontalAlignment','left',...'poition',[10010010050],...' background','w',...'ma某',5,...'min',1);h1_button=uicontrol(gcf,'tyle','puhbutton',...'tring','小写变大写',...'poition',[1004510020],...'callback',huidiao1);h2_button=ui control(gcf,'tyle','puhbutton',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]'tring','大写变小写',...'poition',[1002010020],...'callback',huidiao2);实例36:弹出式菜单h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例36');某=0:0.5:2某pi;y=in(某);h=plot(某,y);gridonhm=uicontrol(gcf,'tyle','popupmenu',...'tring',...'in(某)|co(某)|in(某)+co(某)|e某p(-in(某))',...'poition',[250205020]);et(hm,'value',1)huidiao=[...'v=get(hm,''value'');,',...'witchv,',...'cae1,',...'delete(h ),',...'y=in(某);,',...'h=plot(某,y);,',...'gridon,',...'cae2,', ...'delete(h),',...'y=co(某);,',...'h=plot(某,y);,',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]'gridon,',...'cae3,',...'delete(h),',...'y=in(某)+co(某);,', ...'h=plot(某,y);,',...'gridon,',...'cae4,',...'delete(h),',...' y=e某p(-in(某));,',...'h=plot(某,y);,',...'gridon,',...'end'];et(hm,'callback',huidiao)et(gca,'poition',[0.20.20.60.6])tit le('弹出式菜单的使用')holdonfile:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/4.t某t[2022/5/141:14:30]实例37:滑标的使用h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例37');[某,y]=mehgrid(-8:0.5:8);r=qrt(某.^2+y.^2)+ep;z=in(r)./r;h0=meh(某,y,z);h1=a某e('poition',...[0.20.20.50.5],...'viible','off');hte某t=uicontrol(gcf,...'unit','point',...'poition',[20304515],...'tring','brightne' ,...'tyle','te某t');hlider=uicontrol(gcf,...'unit','point',...'poition',[101030015],...'min',-1,...'ma某',1,...'tyle','lider',...'callback',...'brighten(get(hlider,''value''))');实例38:多选菜单h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例38');file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/5.t某t[2022/5/141:14:31][某,y]=mehgrid(-8:0.5:8);r=qrt(某.^2+y.^2)+ep;z=in(r)./r;h0=meh(某,y,z);hlit=uic ontrol(gcf,'tyle','litbo某',...'tring','default|pring|ummer|autumn|winter',...'ma某',5,...'min',1,...'poition',[202080100],...'callback',[...'k=get(hlit,''value' ');,',...'witchk,',...'cae1,',...'colormapdefault,',...'cae2,',...'colormappring,',...'cae3,',...'colormapummer,',...'cae4,',...'colormapautumn,',...'cae5,',...'colormapwinter,',...'end']);实例39:菜单控制的使用h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例39');某=0:0.5:2某pi;file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/5.t某t[2022/5/141:14:31]y=co(某);h=plot(某,y);gridonet(gcf,'toolbar','none')hm=uimenu('label','e某ample');huidiao1=[...'et(hm_gridon,''checked'',''on''),',...'et(hm_gridoff,''chec ked'',''off''),',...'gridon'];huidiao2=[...'et(hm_gridoff,''checked'',''on''),',...'et(hm_gridon,''chec ked'',''off''),',...'gridoff'];hm_gridon=uimenu(hm,'label','gridon',...'checked','on',...'c allback',huidiao1);hm_gridoff=uimenu(hm,'label','gridoff',...'checked','off',.. .'callback',huidiao2);实例40:UIMENU菜单的应用h0=figure('toolbar','none',...'poition',[200150450250],...'name','实例40');h1=uimenu(gcf,'label','函数');h11=uimenu(h1,'label','轮廓图',...'callback',[...'et(h31,''checked'',''on''),',...'et(h32,''checked'',''off'' ),',...file:///E|/Document/发展篇/M&M/竞赛篇/常用算法/matlab实例/5.t某t[2022/5/141:14:31]'[某,y,z]=peak;,',...'contour3(某,y,z,30)']);。
数学建模实验二:微分方程模型Matlab求解与分析

实验二: 微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。
其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。
(1) 微分方程 例1 求解一阶微分方程 21y dxdy+= (1) 求通解 输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解 输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简 输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。
数学建模 第二篇1 MATLAB作图讲解

MATLAB作图
(2) mesh(x,y,z) 画网格曲面
数据矩阵。分别表示数据点 的横坐标、纵坐标、函数值
例 画出曲面Z=(X+Y).^2在不同视角的网格图. 解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z)
MATLAB作图
(2) figure(h) 新建h窗口,激活图形使其可见,并置于其它图形之上
例
解
区间[0,2*pi]新建两个窗口分别画出 y=sin(x);z=cos(x)。
x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title('sin(x)'); pause figure(2); plot(x,z); title('cos(x)'); 返回
hh = zlabel(string) hh = title(string)
MATLAB作图
例 在区间[0,2*pi]画sin(x)的图形,并加注图例 “自变量X”、“函数Y”、“示意图”, 并加格栅.
解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel('自变量X') ylabel('函数Y') title('示意图') grid on
3.图形保持 hold off 释放当前图形窗口
MATLAB作图
(1) hold on 保持当前图形, 以便继续画图 例 将y=sin(x),y=cos(x)分别用点和线画在一图上
解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x) plot(x,z,:) hold on Plot(x,y) Matlab liti 5
Matlab与数学建模

Matlab与数学建模⼀、学习⽬标。
(1)了解Matlab与数学建模竞赛的关系。
(2)掌握Matlab数学建模的第⼀个⼩实例—评估股票价值与风险。
(3)掌握Matlab数学建模的回归算法。
⼆、实例演练。
1、谈谈你对Matlab与数学建模竞赛的了解。
Matlab在数学建模中使⽤⼴泛:MATLAB 是公认的最优秀的数学模型求解⼯具,在数学建模竞赛中超过 95% 的参赛队使⽤ MATLAB 作为求解⼯具,在国家奖队伍中,MATLAB 的使⽤率⼏乎 100%。
虽然⽐较知名的数模软件不只 MATLAB。
⼈们喜欢使⽤Matlab去数学建模的原因:(1)MATLAB 的数学函数全,包含⼈类社会的绝⼤多数数学知识。
(2)MATLAB ⾜够灵活,可以按照问题的需要,⾃主开发程序,解决问题。
(3)MATLAB易上⼿,本⾝很简单,不存在壁垒。
掌握正确的 MATLAB 使⽤⽅法和实⽤的⼩技巧,在半⼩时内就可以很快地变成 MATLAB ⾼⼿了。
正确且⾼效的 MATLAB 编程理念就是以问题为中⼼的主动编程。
我们传统学习编程的⽅法是学习变量类型、语法结构、算法以及编程的其他知识,因为学习时候是没有⽬标的,也不知道学的知识什么时候能⽤到,收效甚微。
⽽以问题为中⼼的主动编程,则是先找到问题的解决步骤,然后在 MATLAB 中⼀步⼀步地去实现。
在每步实现的过程中,遇到问题,查找知识(互联⽹时代查询知识还是很容易的),定位⽅法,再根据⽅法,查询 MATLAB 中的对应函数,学习函数⽤法,回到程序,解决问题。
在这个过程中,知识的获取都是为了解决问题的,也就是说每次学习的⽬标都是⾮常明确的,学完之后的应⽤就会强化对知识的理解和掌握,这样即学即⽤的学习⽅式是效率最⾼,也是最有效的⽅式。
最重要的是,这种主动的编程⽅式会让学习者体验到学习的成就感的乐趣,有成就感,⾃然就强化对编程的⾃信了。
这种内⼼的⾃信和强⼤在建模中会发挥意想不到的⼒量,所为信念的⼒量。
国赛培训:MatLab基础及在数学建模中的应用

[例 2.1]做一个将角度转为孤度的函数
function Radians = deg2rad(Degrees) % DEG2RAD convert degrees to radians % % USAGE: Radians = deg2rad(Degrees) % Degrees = [degrees, minutes, seconds] % % zhou lvwen. 2011/7/25 Radians = pi * Degrees * [1/180; 1/180/60; 1/180/60/60];
y
xlabel('x');
ylabel('y');
0
zero
-0.5
-1 -4
-3
-2
-1
0 x
1
2
3
4
作图函数
fplot fplot('sin(x)',[-pi,pi]) polar t = 0:.01:2*pi; polar(t,sin(2*t).*cos(2*t),'-r') bar bar(1:4,[35,23, 9, 20]) pie contour [x,y,z] = peaks;contour(x,y,z) quiver quiver(x,y,px,py) image [x,y] = meshgrid(1:5, 1:5) plot3 meshgrid mesh
z-axis 10 8 6 4 2 0 -2 -4 -6 -8 3 2 1 0 -1 -2 y-axis
MESH of PEAKS
-3
-3
-2
-1
0
1
2
3
x-axis
6
数学建模 第3讲 MATLAB的具体实例

解答
用MATLAB优化工具箱解线性规划
1、模型: min z=cX s.t. AX b 命令:x=linprog(c,A,b)
2、模型:min z=cX s.t. AX b Aeq X beq 命令:x=linprog(c,A,b,Aeq,beq)
AX b 存在,则令A=[ ],b=[ ]. 注意:若没有不等式:
三、模型的建立与分析
1.总体风险用所投资的Si中最大的一个风险来衡量,即max{ qixi|i=1,2,…n}
2.购买 Si 所付交易费是一个分段函数,即 pixi xi>ui 交易费 = piui xi≤ui 而题目所给定的定值 ui(单位:元)相对总投资 M 很小, piui 更小, 可以忽略不计,这样购买 Si 的净收益为(r i-pi)xi
五、 结果分析 1.风险大,收益也大。
2.当投资越分散时,投资者承担的风险越小,这与题意一致。即: 冒险的投资者会出现集中投资的情况,保守的投资者则尽量分散投资。
3.曲线上的任一点都表示该风险水平的最大可能收益和该收益要求的最 小风险。对于不同风险的承受能力,选择该风险水平下的最优投资组合。 4.在a=0.006附近有一个转折点,在这一点左边,风险增加很少时,利润增长 很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和 收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合, 大约是a*=0.6%,Q*=20% ,所对应投资方案为: 风险度 收益 x0 x1 x2 x3 x4 0.0060 0.2019 0 0.2400 0.4000 0.1091 0.2212
8 4 x1 8 3 x2 32 x1 24 x2
因检验员错检而造成的损失为:
matlab在数学建模中的运用

matlab在数学建模中的运用
Matlab广泛应用于数学建模中,因为它具有处理数学问题的强大功能和丰富的工具集。
以下是Matlab在数学建模中的一些常见应用:
1.解微分方程:Matlab提供了各种数值求解器和工具,可以解决各种常微分方程和偏微分方程,这对于动力学系统、控制系统和其他物理现象的建模与仿真非常有用。
2.优化问题:Matlab包括了丰富的优化工具箱,可用于解决各种优化问题,例如线性规划、非线性规划、整数规划等。
3.统计分析:Matlab提供了丰富的统计工具箱,可用于数据分析、拟合曲线、确定概率分布、执行假设检验等。
4.数值模拟:Matlab具有强大的数值计算能力,可用于模拟各种数学模型,例如物理系统、金融模型、生态系统等。
5.图形可视化:Matlab提供了丰富的绘图功能,可用于可视化数学模型的结果和解决方案,以及制作各种类型的图表和图形。
matlAB第1讲数学建模简介

返回
怎样撰写数学建模的论文? 1、摘要:问题、模型、方法、结果 2、问题重述 3、模型假设 4、分析与建立模型 5、模型求解
机理分析法建模的具体步骤大致可见右符合实际不符合实际交付使用从而可产生经济社会效益实际问题抽象简化假设确定变量参数建立数学模型并数学数值地求解确定参数用实际问题的实测数据等来检验该数学模型建模过程示意图模型数学模型的分类
数学建模与数学实验
数学建模简介
数学建模简介
1.关于数学建模
2.数学建模实例
A.人口预报问题 B. 椅子能在不平的地面上放稳吗? C.双层玻璃的功效
3.数学建模论文的撰写方法
一、名词解释
1、什么是数学模型?
数学模型是对于现实世界的一个特定对象,一个 特定目的,根据特有的内在规律,做出一些必要的假 设,运用适当的数学工具,得到一个数学结构。
简单地说:就是系统的某种特征的本质的数学表 达式(或是用数学术语对部分现实世界的描述),即 用数学式子(如函数、图形、代数方程、微分方程、 积分方程、差分方程等)来描述(表述、模拟)所研 究的客观对象或系统在某一方面的存在规律。
建模过程示意图
三、数学模型及其分类
模型
具体模型
直观模型 物理模型 思维模型
抽象模型
符号模型
数学模型的分类:
数学模型
数式模型 图形模型
◆ 按研究方法和对象的数学特征分:初等模型、几何模型
、优化模型、微分方程模型、图论模型、逻辑模型、稳定性模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用矩阵作为循环变量
for语句更一般的格式:
for 循环变量=矩阵表达式 循环体语句 end
• 执行过程是依次将矩阵的各列元素赋给循环变量,然后 执行循环体语句,直至各列元素处理完毕。实际上,“表 达式1:表达式2:表达式3”是一个仅为一行的矩阵(行向量), 因而列向量是单个数据。
x = 0:0.2:12;y1 = bessel(1,x); figure(1) ,subplot(2,2,1) h = plot(x,y1,x,y2,x,y3); set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'}) axis([0 12 -0.5 1]) xlabel('Time')ylabel('Amplitude') print -depsc -tiff -r200 myplot
Mathematical Modeling and MATLAB 数学建模与MATLAB 主讲人:孙越
数学建模与MATLAB
第七讲 FOR循环与二维绘图
2018/8/8
§7.1
for语句
数学建模与MATLAB 2
for语句结构
• for语句是执行已知循环次数的运算 • for 语句的结构为:
for 循环变量 = 初始值:步长:终止值 执行代码块 end
8
课堂练习
• 某旅行团有男人、女人和小孩共30人,在 纽约一家小饭馆里吃饭,该饭馆按人头收 费,每个男人收3美元,每个女人收2美元 ,每个小孩收1美元,共收取50美元。共有 多少组解?(答案: 9组解)
数学建模与MATLAB
9
参考答案
for x=1:30 for y=1:30 for z=1:30 if (3*x+2*y+1*z)==50 & (x+y+z)==30 fprintf('有%d个男人,%d个女人,%d个孩子!\n',x,y,z); end end end end
数学建模与MATLAB 7
例题三
• 已知5个学生4门学科的成绩,求每名学生的总成绩 • 程序如下: s=0; a=[65,76,56,78;98,83,74,85;76,67,78,79;98,58,42,73;67,89,76,87]; for k=a s=s+k; end disp(s);
数学建模与MATLAB
数学建模ห้องสมุดไป่ตู้MATLAB
14
plot 函数
plot 函数的调用格式为: • plot(Y) • plot(X1,Y1,...) • plot(X1,Y1,LineSpec,...) • plot(...,'PropertyName',PropertyValue,...) • plot(axes_handle,...) • h = plot(...) • hlines = plot('v6',...)
数学建模与MATLAB
10
%算法二 i=0; for x=1:15 for y=1:23 for z=1:28 %算法四 i=i+1; x=input('人数:'); if (3*x+2*y+1*z)==50&(x+y+z)==30 :'); fprintf('有%d个男人,%dy=input(' 个女人,钱 %d 个孩子!\n',x,y,z); end total=0; end k=0; end for i=1:fix(y/3) end for j=1:fix((y-i*3)/2) fprintf('一共运算了%d次!\n',i); if 2*i+j+x==y %算法三 total=total+1; i=0; fprintf('男%d 女%d 小孩%d\n',i,j,x-i-j) for x=1:15 end for y=1:23 k=k+1; i=i+1; if 3*x+2*y+(30-x-y)==50 end fprintf('有%d个男人,%dend 个女人,%d个孩子!\n',x,y,(30-x-y)); end fprintf('一共运算了%d次!\n',k); end end fprintf('一共运算了%d次!\n',i);
• 如果步长为1可以省略
数学建模与MATLAB 3
例题一
• 求累加和。如:1+2+3+…+100 %求1+2+3……+100 思考: s=0; ① 1*3*5……*99 for i=1:100 ② n!=1 × 2 × 3 × …n s=s+i; end fprintf('1+2+3……+100=%d \n',s); 在实际MATLAB编程中,为提高程序的执行速度, 常用向量运算来代替循环操作:
fprintf('一共有%d组解!\n',total);
数学建模与MATLAB
11
§7.2
二维绘图
数学建模与MATLAB 12
基本的绘图命令
函数名 plot loglog semilogx 功能
在线性坐标系中绘制二维图形 在对数坐标系中绘制二维图形 二维图形绘制,x 轴为对数坐标,y 轴为 线性坐标 二维图形绘制,x 轴为线性坐标,y 轴为 对数坐标 绘制双 y 轴图形
数学建模与MATLAB
5
参考代码
%判断输入的数字是否为素数,考虑计算量数字不超过1000 x=input('请输入一个正整数:'); for i=2:fix(x/2) if mod(x,i)==0 break; 有因子,程序非正常终止 排除法:如果有因子,不 再往下判断是否是素数 end end 无因子,程序正常终止 if i==fix(x/2) fprintf('%d是一个素数!',x); else fprintf('%d不是一个素数!',x); end
数学建模与MATLAB 13
semilogy
plotyy
基本的绘图步骤
步 骤
1. 准备绘图数据 2. 选择一个窗口并在窗口中给图形定位 3. 调用基本的绘图函数 4. 选择线型和标记特性 7. 设置坐标轴的极限值、标记符号和网格线 6. 使用坐标轴标签、图例和文本对图形进行注释 7. 输出图形
典型代码
y=sum(1:100)
数学建模与MATLAB 4
例题二
• 判断一个数是否为素数?
• 在大于1的自然数中,除了1和此整数自身外,不能被其他 自然数(不包括0)整除的数,称之为素数(或质数)。
编程方法一: 循环变量 i 从2开始,到该整数 x 的1/2为 止,用 x 依次依次除以 i ,只要能被任何一个 i 整除,就不是一个素数,否则是素数。