数学建模数学实验与Matlab的应用实例

合集下载

数学建模案例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在电气工程中的应用

2024/8/3
4
第5页/共82页
课程任务
通 过 本 课 程 学 习 , 使 学 生 掌 握 利 用 M AT L A B 进 行 数 值 计 算 的 基 本 方 法 , 熟 悉 M AT L A B 编 程 环 境 、 语言语法、程序结构、编程及调试技术,掌握 M AT L A B 中 M 文 件 、 M 函 数 编 写 方 法 及 调 试 技 术 、 M AT L A B 的 绘 图 和 图 形 控 制 函 数 等 内 容 , 上 机 练 习 M AT L A B 数 值 解 算 方 法 , 具 备 上 机 操 作 的 技 能 , 学 习 M AT L A B 在 电 气 工 程 学 科 中 的 建 模 与 分 析 方 法 , 为后续专业课程学习奠定基础。
• helpdesk 指令 在命令窗口中键入helpdesk(或doc,或点击工具条中的?按钮),进入帮助窗口,显 示HTML格式的帮助内容。
2024/8/3
23
第24页/共82页
• help 命令
help:列出所有的帮助主题,每个帮助主题对应于 MATLAB搜索路径中的一个目录;
help 库名:得到库中全部函数名;
more(n):指定每页输出的行数
回车键显示下一行,空格键显示下一页,q结束当
前显示。
2024/8/3
18
第19页/共82页
页面显示的疏密控制 format loose (默认) :稀疏显示格式; format compact: 密集显示格式;
清命令窗口 clc
2024/8/3
19
第20页/共82页
识别、控制系统、非线性系统、模糊控制、优化技术、通讯系统、财政金融等领域有着广泛 应用。

MATLAB数学建模方法与实践

MATLAB数学建模方法与实践

MATLAB数学建模方法与实践引言:MATLAB(Matrix Laboratory)是一种十分强大的数学软件,广泛应用于工程、科学计算以及数学建模等领域。

本文将深入探讨MATLAB在数学建模方面的方法与实践,旨在帮助读者更好地掌握和应用这一工具。

一、MATLAB的基本特点和功能1.1 MATLAB的基本特点MATLAB具有易学易用的特点,无论是初学者还是专业人士,都能迅速上手。

其直观的界面和功能丰富的工具箱,使得用户可以高效地进行数学建模和数据分析。

1.2 MATLAB的功能MATLAB拥有强大的数值计算能力,包括线性代数、各种函数的数值求解、曲线拟合等。

此外,它还支持符号计算,能够对表达式进行符号化求解和化简。

同时,MATLAB还提供了丰富的绘图工具,可以绘制各种类型的图形,如曲线图、柱状图、散点图等。

二、数学建模的基本流程2.1 问题定义在进行数学建模之前,首先需要明确问题的定义。

数学建模可以涉及各种领域,如物理学、工程学、经济学等。

因此,定义好问题是解决问题的第一步。

2.2 建立数学模型建立数学模型是数学建模的核心步骤之一。

通过对问题进行抽象和理论分析,可以将实际问题转化为数学问题,并建立相应的数学模型。

MATLAB提供了丰富的数学函数和工具,可以帮助用户完成模型的建立和求解。

2.3 模型求解模型建立完成后,需要对其进行求解。

MATLAB提供了多种数值计算方法和优化算法,可以方便地对模型进行求解和优化。

同时,MATLAB还支持符号计算,可以进行符号化求解,获得更具普遍性的结果。

2.4 模型验证和分析模型求解之后,需要对结果进行验证和分析。

MATLAB的绘图功能十分强大,可以将模型的结果可视化展示,并通过图表分析结果的合理性和准确性。

此外,MATLAB还支持数据统计和概率分布分析,可以通过统计方法对模型的结果进行验证。

三、MATLAB在数学建模中的实践应用3.1 数值计算数值计算是MATLAB最常用的功能之一,它通过各种算法和方法,对数学模型进行求解。

matlab数学建模100例

matlab数学建模100例

matlab数学建模100例Matlab是一种强大的数学建模工具,广泛应用于科学研究、工程设计和数据分析等领域。

在这篇文章中,我们将介绍100个使用Matlab进行数学建模的例子,帮助读者更好地理解和应用这个工具。

1. 线性回归模型:使用Matlab拟合一组数据点,得到最佳拟合直线。

2. 多项式拟合:使用Matlab拟合一组数据点,得到最佳拟合多项式。

3. 非线性回归模型:使用Matlab拟合一组数据点,得到最佳拟合曲线。

4. 插值模型:使用Matlab根据已知数据点,估计未知数据点的值。

5. 数值积分:使用Matlab计算函数的定积分。

6. 微分方程求解:使用Matlab求解常微分方程。

7. 矩阵运算:使用Matlab进行矩阵的加减乘除运算。

8. 线性规划:使用Matlab求解线性规划问题。

9. 非线性规划:使用Matlab求解非线性规划问题。

10. 整数规划:使用Matlab求解整数规划问题。

11. 图论问题:使用Matlab解决图论问题,如最短路径、最小生成树等。

12. 网络流问题:使用Matlab解决网络流问题,如最大流、最小费用流等。

13. 动态规划:使用Matlab解决动态规划问题。

14. 遗传算法:使用Matlab实现遗传算法,求解优化问题。

15. 神经网络:使用Matlab实现神经网络,进行模式识别和预测等任务。

16. 支持向量机:使用Matlab实现支持向量机,进行分类和回归等任务。

17. 聚类分析:使用Matlab进行聚类分析,将数据点分成不同的类别。

18. 主成分分析:使用Matlab进行主成分分析,降低数据的维度。

19. 时间序列分析:使用Matlab进行时间序列分析,预测未来的趋势。

20. 图像处理:使用Matlab对图像进行处理,如滤波、边缘检测等。

21. 信号处理:使用Matlab对信号进行处理,如滤波、频谱分析等。

22. 控制系统设计:使用Matlab设计控制系统,如PID控制器等。

MATLAB在数学模型中的应用

MATLAB在数学模型中的应用

某实验对一根长10米的钢轨进行热源的温度传播测试 米的钢轨进行热源的温度传播测试。 例2 某实验对一根长 米的钢轨进行热源的温度传播测试。 表示测量点0:2.5:10(米),用h表示测量时间 表示测量时间0:30:60(秒), 用x表示测量点 表示测量点 米, 表示测量时间 秒, 表示测试所得各点的温度(℃ 。 用T表示测试所得各点的温度 ℃)。试用线性插值求出在 表示测试所得各点的温度 一分钟内每隔20秒 钢轨每隔1米处的温度 米处的温度TI。 一分钟内每隔 秒、钢轨每隔 米处的温度 。 命令如下: 命令如下: x=0:2.5:10; h=[0:30:60]'; T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41]; xi=[0:10]; hi=[0:20:60]'; TI=interp2(x,h,T,xi,hi, ‘spline’)
p=polyfit(log(x),log(y),1)
2.2 最小二乘法曲线拟合 在MATLAB中,用polyfit函数来求得最小二乘拟合 中 函数来求得最小二乘拟合 多项式的系数,再用polyval函数按所得的多项式计算所 多项式的系数,再用 函数按所得的多项式计算所 给出的点上的函数近似值。 给出的点上的函数近似值。 polyfit函数的调用格式为: 函数的调用格式为: 函数的调用格式为 [P,S]=polyfit(X,Y,m) 函数根据采样点X和采样点函数值 ,产生一个m次 函数根据采样点 和采样点函数值Y,产生一个 次 和采样点函数值 多项式P及其在采样点的误差向量 及其在采样点的误差向量S。其中X,Y是两个等长 多项式 及其在采样点的误差向量 。其中 是两个等长 的向量, 是一个长度为 是一个长度为m+1的向量,P的元素为多项式 的向量, 的元素为多项式 的向量,P是一个长度为 的向量 系数。 系数。

用matlab解决数学建模

用matlab解决数学建模

2、已知速度曲线v(t) 上的四个数据点下表所示t=[0.15,0.16,0.17,0.18];v=[3.5,1.5,2.5,2.8];x=0.15:0.001:0.18y=i n t e r p1(t,v,x,'s p l i n e')S=t r a p z(x,y)p=p o l y f i t(x,y,5);d p=p o l y de r(p);d p x=p o l y v a l(d p,0.18)运行结果S=0.0687Dpx=-3、计算图片文件tu.bmp 给出的两个圆A,B 的圆心,和两个圆的两条外公切线和两条内公切线的切点的坐标。

(1)计算A 圆的圆心坐标I=imread('tu.bmp');[m,n]=size(I)BW=im2bw(I)BW(:,200:512)=1;figure, imshow(BW)ed=edge(BW);[y,x]=find(ed);x0=mean(x), y0=mean(y)r1=max(x)-min(x),r2=max(y)-min(y)r=(r1+r2)/4x0 =109.7516y0 =86.7495r1 =162r2 =158r =80(2)B圆的圆心坐标和半径I=imread('tu.bmp');BW=im2bw(I)BW(:,1:200)=1;imshow(BW)ed=edge(BW);[y,x]=find(ed);x0=mean(x), y0=mean(y)r1=max(x)-min(x),r2=max(y)-min(y)r=(r1+r2)/4x0 =334.0943y0 =245.7547r1 =165r2 =158 r = 80.7500外公切线上的切点f=@(x)[(x(1,1)-109.7516)^2+(x(1,2)-86.7495)^2-80.5^2(x(2,1)-334.0943)^2+(x(2,2)-245.7547)^2-80.75^2(x(2,2)-x(1,2))*(x(1,2)-86.7495)+(x(2,1)-x(1,1))*(x(1,1)-109.7516)(x(2,2)-x(1,2))*(x(2,2)-245.7547)+(x(2,1)-x(1,1))*(x(2,1)-334.0943)(x(1,1)-x(2,1))^2+(x(1,2)-x(2,2))^2+0.75^2-(334.0943-109.7516)^2-(245.7 516-86.7495)^2];xy1=fsolve(f,rand(2,2))xy2=fsolve(f,100*rand(2,2))xlswrite('book1.xls',xy1)xlswrite('book1.xls',xy2,'Sheet1','A4')xy1 =156.2419 21.0312380.7270 179.8309xy2 =153.7425 48.4651289.4819 284.38084、求微分方程组的数值解,并画出解曲线dy=@(t,y)[-10*y(1)+10*y(2);28*y(1)-y(2)-y(1)*y(3);-8/3*y(3)+y(1)*y(2)]; [t,y]=ode45(dy,[0,10],[1;0;0])subplot(3,1,1),plot(t,y(:,1),'*')subplot(3,1,2),plot(t,y(:,2),'*')subplot(3,1,3),plot(t,y(:,3),'*')0123456789105、预测2012-2020年美国人口数量。

MATLAB应用实例分析例分析

MATLAB应用实例分析例分析

MATLAB应用实例分析例分析Matlab应用例题选讲仅举一些运用MATLAB的例子,这些问题在数学建模中时常遇到,希望能帮助同学们在短时间内方便、快捷的使用MATLAB 解决数学建模中的问题,并善用这一工具。

常用控制命令:clc:%清屏; clear:%清变量; save:%保存变量; load:%导入变量一、利用公式直接进行赋值计算本金P以每年n次,每次i%的增值率(n与i的乘积为每年增值额的百分比)增加,当增加到r×P 时所花费的时间T为:(利用复利计息公式可得到下式) lnrnT() r,P,P(1,0.01i),T,r,2,i,0.5,n,12nln(1,0.01i)MATLAB 的表达形式及结果如下:>> r=2;i=0.5;n=12; %变量赋值>> T=log(r)/(n*log(1+0.01*i)) 计算结果显示为:T = 11.5813即所花费的时间为T=11.5813 年。

分析:上面的问题是一个利用公式直接进行赋值计算问题,实际中若变量在某个范围变化取很多值时,使用MATLAB,将倍感方便,轻松得到结果,其绘图功能还能将结果轻松的显示出来,变量之间的变化规律将一目了然。

若r在[1,9]变化,i在[0.5,3.5]变化;我们将MATLAB的表达式作如下改动,结果如图1。

r=1:0.5:9;i=0.5:0.5:3.5;n=12;p=1./(n*log(1+0.01*i));T=log(r')*p;plot(r,T)xlabel('r') %给x轴加标题ylabel('T') %给y轴加标题q=ones(1,length(i));text(7*q-0.2,[T(14,1:5)+0.5,T(14,6)-0.1,T(14,7)-0.9],num2str(i'))40350.5302520T 1151.510 22.55 33.50123456789r图11从图1中既可以看到T随r的变化规律,而且还能看到i的不同取值对T—r 曲线的影响(图中的六条曲线分别代表i的不同取值)。

数学建模 第3讲 MATLAB的具体实例

数学建模 第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
因检验员错检而造成的损失为:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
影响战斗力的三个因素: 1. 战斗减员, 与对方的战斗力成正比 2. 非战斗减员, 与己方战斗力成正比 3. 增援部队 本例中只考虑第一个因素.
11
假设在每一个回合中, 各方损失的舰只数 是对方舰只数的10%, 则有数学模型 Bk+1 = Bk 0.1Fk, Fk+1 = Fk 0.1Bk. 这正是前面已讨论过的正规战争模型. 其矩阵形式为:
To p20
0. 1 B 1 B . = 0.1 F 1 F k k +1
12
x1 记B为 x1 , F为 x2 , X k = ,则有 x 2 k
0.1 x1 x1 1 = AX k . X k +1 = = 0.1 x 1 x2 k 2 k +1
29
Matlab程序: tintvl=[0 70]; y0=[0 0]; [t,y]=ode23('ff26_1',tintvl,y0); plot(y(:,1),y(:,2),100*ones(size(t)),t)
30
3
为纪念这场经典海战的200周年,来自35个 国家的160余艘战舰和船只聚集在英格兰南部海 域,重演当年海战。在2005年6月28日的庆典中, 英女王伊丽莎白二世登上英国皇家海军船只, 完成这次世界最大规模的海军舰队大检阅。
在英格兰南部朴次茅斯港附近的索伦特海 峡,来自35个国家海军的167艘战舰和船只于26 日夜间就已聚集在此,其中包括60艘英国军舰。 法国、美国、西班牙和意大利与东道主英国都 派出航空母舰。
19.2734 X15 = A X 0 = 1.4441 ;
15
12.5834 X17 = A X 0 = 1.5146 .
17
18
从实验的结果来看, 英方将获胜. 事实上, 纳尔逊率领的英国舰队确实获得了胜利, 法 西联合舰队在第三轮战斗中还剩13艘战舰时 战败而去, 但是纳尔逊本人也在战斗中阵亡.
2
23
y ′(t ) vt y (t ) 模型2: = , x ′(t ) 100 x (t ) 2 2 2 ( y ′(t )) + ( x ′(t )) = ( 2v ) , x (0) = 0, y (0) = 0.
化为微分方程组
2v (100 x (t )) ,x (0) = 0, x ′(t ) = (100 x ) 2 + [vt y (t )]2 2v ( vt y ) y ′(t ) = , y ( 0 ) = 0. (100 x ) 2 + [vt y (t )]2
22
x
y (0) = 0,
消去s解得

x
0
′( x ) 2 dx = 2[ y ( x ) + (100 x ) y ′( x )], 1+ y
′( x ) 2 1+ y , y ′′( x ) = 2(100 x ) 故得二阶常微分方程
1 + y ′( x ) y ′′( x ) = , y (0) = 0, y ′(0) = 0. 2(100 x ) 当 ( x, y ) (100, s / 2) < ε 时停止, 其中 s s = 2[ y ( x ) + (100 x ) y ′( x )]. t = 2v
17
用数学模型作数学实验如下:
13 1. X 0 = , 3 0.05 1 , A= 0.05 1 12.6471 X3 = A X0 = 1.0709 ;
3
14 26.6471 2. X 0 = X 3 + = 17 18.0709 , 0 19.2734 3. X 0 = X15 + = 13 14.4441 ,
当 ( x , y ) (100, vt ) < ε 时停止.
24
模型1的解: 求解二阶常微分方程 ′2 1+ y y ′′ = , 2(100 x ) y = 0, y ′ = 0. x =0 x =0
解 令 y = y1 , y ′ = y 2 ,则原方程化为微分 方程组 ′ y1 = y 2 , 2 1 + y2 ′ . y2 = 2(100 x )
19
讨论题: 如果海战的双方分别是水面舰队和潜 艇部队, 那么应该用那一种战争模型? 请自 设数据和合理的参数进行数学实验并分析 结果.
To p12
20
设X为参战一方(水面舰队)的战舰数, Y为 另一方(潜艇部队)的潜艇数, 则可建立如下数 学模型: Xk+1 = Xk α Yk, Yk+1 = Xk β XkYk.
10
15
但是实际的结局是战斗以英方的胜利告终. 当时法西联合舰队是排列为一路纵队, 并分 为B, A, C三组, 分别有战舰17, 3, 13艘(如下图).
B (17) A (3) C (13)
16
纳 尔 逊 决 定 采 用 各 个 击 破 ( Divide-andConquer)的策略: 先用13艘战舰去攻击对方的 A组3艘战舰, 留14艘作预备队. 然后用战斗剩 余的战舰与预备队合并去攻击对方的B组, 最 后用剩余的力量与对方剩余的力量决战. 设 每一个回合中, 各方损失的舰只数是对方舰只 数的5%.
25
用M文件ff26.m来定义此方程组,内容如下: function z=ff26(x,y) z(1)=y(2); z(2)=sqrt(1+y(2).^2)./(2*(100-x)); z=[z(1) z(2)]'; Matlab程序: y0=[0 0]'; [x,y]=ode23('ff26',[0 100],y0); plot(x,y(:,1),'o')
26
70
60
50
40
30
20
10
0
0
20
40
60
80
100
27
模型2的解: 求解一阶微分方程组:
100 x dx 2v, x (0) = 0, dt = 2 2 ( vt y ) + (100 x ) dy vt y = 2v, y (0) = 0. dt ( vt y ) 2 + (100 x ) 2
21
例 一只猎犬发现其正东方100米处有 一只野兔,野兔以速度v向其正北方100米 处的洞穴逃跑,猎犬向野兔追去,速度是 2v. 求:1. 猎犬的运动轨迹; 2. 追上兔子的 时间、地点. 模型1:
s=∫
1 + y ′( x ) 2 dx, 0 s y y ′( x ) = 2 , 100 x
y ′(0) = 0.
数学建模, 数学实验 与Matlab 的应用实例
1
特拉法尔加海战 The Battle of Trafalgar
2
1805年,英国海军上将纳尔逊勋爵指挥 英国海军舰队赢得特拉法尔加海战的胜利。 此次海战无论在英国的历史和世界军事 史上都具有重要的意义。 位于伦敦的威斯敏斯特的特拉法尔加广 场 ( Trafalgar Square), 纳 尔 逊 纪 念 碑 ( Nelson's Column) 即为纪念此次海战而建。
28
解 M文件ff26_1.m : function z=ff26_1(t,y) v=1; z(1)=2*v*(100-y(1))/sqrt((v*t-y(2))^2+… (100-y(1))^2); z(2)=2*v*(v*t-y(2))/sqrt((v*t-y(2))^2+… (100-y(1))^2); z=[z(1) z(2)]'; (注: "…"为换行标记)
4
纪念特拉法尔加海战 英举行最大规模海军检阅 2005年06月29日 特拉法尔加海战200周年的纪念系列活动,由英国皇家海军和英国 政府共同举办。作为2005英国海洋年的先导活动,它将一直持续到明 年10月。 拿破仑建立法兰西第一帝国后,为夺取英吉利海峡的制海权,命 海军将领维尔纳夫与罗什福尔、布勒斯特的分舰队会师后远征英国本 土。然而由于途中误会,维尔纳夫分舰队南下驶往西班牙南部的加的 斯港。 英国海军名将纳尔逊得知后,乘“胜利”号旗舰从朴次茅斯出航, 与英海军科林伍德分舰队会合。1805年10月20日,包括5艘西班牙主力 舰在内的法西联合舰队(主力舰33艘、驱逐舰5艘,装备火炮300门,兵 员3万人)从加的斯港出航,准备转移到地中海。次日晨,当法西舰队 行进到特拉法尔加角附近时,被英国舰队(主力舰27艘,装备火炮2500 门,兵员2万人)发现,于是双方展开大战。 英国海军最终取得了海战的胜利。法西舰队18艘舰船被击沉或俘 获,7000人被俘,2600人死伤。而英军统帅纳尔逊被法国狙击手击中, 伤重不治而殉国,英国人把他视为民族英雄,他的旗舰“胜利”号也被 当作重要的历史文物而保存了下来。这次海战确立了英国在海上的霸 权地位,而纳尔逊把帆船时代特别壮观的海战线式战术发展到最高峰, 5 成为帆船时代海战的典范。
13
用Matlab进行实验: X = [27, 33]’; A = [1, -0.1; -0.1, 1]; k = 0; k = k + 1, X = A*X 每运行一次X = A*X代表进行一次战斗, k 记录了战斗次数. 最后一行可用“↑”反复调用.
14
如果双方都在战斗中投入全部兵力, X0 = (27, 33)T, 则经过10个回合后, X10 = A X0 = (2.6791, 18.2416)T, 结果将是英国舰队仅剩3艘战舰, 且至少 有一艘遭到重创, 而法国-西班牙舰队还剩18 艘战舰. 显然是英方战败.
167艘战舰抵英, 经典海战国演 员装扮纳尔逊 在座舰胜利号 前
8
重现当年海战的油画
9
例 特拉法尔加海战(The Battle of Trafalgar) 1805年, 纳尔逊海军上将率领的英国舰队与 法国-西班牙联合舰队在特拉法尔加角进行了 一场海战. 当时法国-西班牙联合舰队有战舰F0 = 33艘, 英国舰队有战舰B0 = 27艘. 双方的战 斗力与各自的战舰数成比例.
相关文档
最新文档