数学建模数学实验与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
因检验员错检而造成的损失为:

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用
MATL AB还可以与仿真软件、控制系统等其他工程软件集成,提高工程应用的效率和精度。
M AT L A B 在 教 育 和 研 究 领 域 的 应 用 前 景
促进数学建模教 育:MATL AB提 供了丰富的工具 和资源,帮助学 生和教师更容易 地学习和教授数 学建模。
支持科研工作: 科学家和研究人 员使用MATL AB 进行数据分析和 可视化,算法开 发,以及模拟和 建模。
案例:使用MATL AB求解非线性最小二乘问题,通过迭代算法找到最优解。
优势:MATL AB提供了高效的优化工具箱,可以进行大规模的优化计算。
应用领域:非线性优化问题在许多领域都有应用,如机器学习、图像处理、控制系统 等。
微分方程的求解
描述了使用MATL AB求解微分方程的基本步骤 提供了使用MATL AB求解微分方程的示例代码 介绍了使用MATL AB求解微分方程的优势和局限性 总结了MATL AB在数学建模中求解微分方程的应用场景和效果
如何使用MATLAB 进行数学建模
M AT L A B 的 基 本 语 法 和 操 作
变量定义:使用变量名和赋值符号(=)定义变量 矩阵运算:使用方括号[]进行矩阵的创建和运算 函数定义:使用function关键字定义函数,输入输出参数用逗号分隔 控制流语句:使用if、else、for、while等控制流语句进行程序流程控制
M AT L A B 的 起 源 : 由 C l e v e M o l e r 于1980年代初开发,旨在为线性 代数课程提供一种更有效的方法。
M AT L A B 的 发 展 : 经 过 多 年 的 不 断 发 展 和 完 善 , M AT L A B 已 经 成 为 一 个功能强大的数学计算软件,广泛 应用于科学、工程和数学领域。

MATLAB及在数学建模中的应用

MATLAB及在数学建模中的应用

1讲MATLAB及在数学建模中的应用•MatLab简介及基本运算•常用计算方法•应用实例MatLab简介及基本运算1.1 MatLab简介1.2 MatLab界面1.3 MatLab基本数学运算1.4 MatLab绘图简介•MATLAB名字由MATrix和LABoratory 两词组成。

20世纪七十年代后期, 美国新墨西哥大学计算机科学系主任Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。

从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

1997年春,MATLAB5.0版问世,紧接着是5.1、5.2、5.3、6.0、6.1、6.5、7.0版。

现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。

•20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。

以下为其几个特色:①可靠的数值运算和符号计算。

在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用。

②强大的绘图功能。

MATLAB可以绘制各种图形,包括二维和三维图形。

③简单易学的语言体系。

④为数众多的应用工具箱。

MatLab界面基本数学运算•MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)还有一种特殊的运算,点运算:.*、./、.\和.^。

•输入方式:在MATLAB命令窗中输入>> (12+2*(7-4))/3^2>> z=2*exp(2)+sin(pi/6)>> B=[1+5i,2+6i;3+8*i,4+9*i]在M文件中输入例1.1 求方程3x4+7x3+9x2-23=0的全部根p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根1.2 求一元二次方程ax2+bx+c=0的根。

数学建模matlab例题参考及练习

数学建模matlab例题参考及练习

数学建模matlab例题参考及练习数学实验与数学建模实验报告学院:专业班级:姓名:学号:完成时间:年⽉⽇承诺书本⼈承诺所呈交的数学实验与数学建模作业都是本⼈通过学习⾃⾏进⾏编程独⽴完成,所有结果都通过上机验证,⽆转载或抄袭他⼈,也未经他⼈转载或抄袭。

若承诺不实,本⼈愿意承担⼀切责任。

承诺⼈:年⽉⽇数学实验学习体会(每个⼈必须要写字数1200字以上,占总成绩的20%)练习1 ⼀元函数的图形 1.画出x y arcsin =的图象.2.画出x y sec =在],0[π之间的图象. 3.在同⼀坐标系中画出x y =,2x y =,3x y =,3x y =,x y =的图象.4.画出3232)1()1()(x x x f ++-=的图象,并根据图象特点指出函数)(x f 的奇偶性.5.画出)2ln(1++=x y 及其反函数的图象.6.画出321+=x y 及其反函数的图象.练习2 函数极限1.计算下列函数的极限.(1)xxx1lim4-+π→.程序:sym x;f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4)运⾏结果:lx21ans =1(2).程序:sym x;f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2)运⾏结果:lx22ans =exp(3)(3)22)2xx-ππ→.程序:sym x;f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2)运⾏结果:lx23ans =-1/8(4)212lim xxex→.程序:x xx sec32)sym x ;f=x^2*exp(1/x); limit(f,x,0) limit(f,x,0,'right') limit(f,x,0,'left')运⾏结果:lx24ans = NaNans = Infans = 0%左极限为零,存在,右极限为⽆穷⼤,在x 趋近于零时函数没有极限(5))215(lim 122x x x x +-∞→.程序:sym x ;f=5*x^2/(1-x^2)+2^(1/x); limit(f,x,inf)运⾏结果:>> lx25ans = -4(6)x x x x x -+-→32112lim .程序:sym x ;f=(x^2-2*x+1)/(x^3-x); limit(f,x,1)运⾏结果:>> lx26ans = 0(7)x x x 11lim 20-+→.程序:sym x ;f=(sqrt(1+x^2)-1)/x; limit(f,x,0))3sin(cos 21lim 3π--π→x x x . 程序:sym x ;f=(1-2*cos(x))/sin(x-pi/3); limit(f,x,pi/3)运⾏结果:>> lx28ans = 3^(1/2)(9)tgxx x )1(lim 0+→.程序:sym x ;f=(1/x)^tan(x); limit(f,x,0,'right')运⾏结果:>> lx29ans =(10)xx arctgx )2(lim π+∞→.程序:sym x ;f=(2/pi*atan(x))^x; limit(f,x,inf,'left')运⾏结果:>> lx210ans =Inf2.解⽅程012=-?x x . 程序:sym x ;X=solve(x*2^x-1)运⾏结果:>> lx202 X =lambertw(0, log(2))/log(2)%⽅程有两个解X=solve(3*sin(x)+1-x)运⾏结果:>> lx203 X =-0.53847936154.解⽅程03=++q px x .(p 、q 为实数) 程序:X=solve('x^3+p*x+q=0','x')运⾏结果: X =((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3) - p/(3*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) p/(6*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) -((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)/2 - (3^(1/2)*i*(p/(3*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) + ((p^3/27 + q^2/4)^(1/2) -q/2)^(1/3)))/2 p/(6*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) - ((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)/2 + (3^(1/2)*i*(p/(3*((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)) + ((p^3/27 + q^2/4)^(1/2) - q/2)^(1/3)))/2练习 3 导数及偏导数计算1.求下列函数的导数.(1))11)(1(-+=x x y程序:sym x ;f=(sqrt(x)+1)*(1/sqrt(x)-1); diff(f)运⾏结果:>> lx31ans =(1/x^(1/2) - 1)/(2*x^(1/2)) - (x^(1/2) + 1)/(2*x^(3/2))(2)x x x y ln sin =程序:sym x ;f=x*sin(x)*log(x); diff(f)运⾏结果:>> lx32ans =sin(x) + log(x)*sin(x) + x*cos(x)*log(x)2.求下列参数⽅程所确定的函数的导数.(1)??==t y t x 44程序:ans =1/t^3(2)??-=+=arctgt t y t x )1ln(2程序:sym t ;f1=log(1+t^2);f2=t-atan(t); diff(f2)/diff(f1)运⾏结果:>> lx322ans =-((t^2 + 1)*(1/(t^2 + 1) - 1))/(2*t) 3.求下列隐函数的导数.(1)22ln y x xyarctg+=程序:syms x y ;f=atan(y/x)-log(sqrt(x^2+y^2));yx=-diff(f,x)/diff(f,y)运⾏结果;>> lx331 yx =(x/(x^2 + y^2) + y/(x^2*(y^2/x^2 + 1)))/(1/(x*(y^2/x^2 + 1)) - y/(x^2 + y^2)) (2)x y y x=程序:syms x y ; f=x^y-y^xyx=-diff(f,x)/diff(f,y)运⾏结果:>> lx332 f =x^y - y^x yx =f=exp(x)*sin(x); diff(f,x,4)运⾏结果:>> lx34 ans =(-4)*exp(x)*sin(x)5.验证x e y xsin =满⾜关系式:022=+'-''y y y程序:sym x ;f=exp(x)*sin(x); y2=diff(f,x,2); y1=diff(f,x,1); y=f;y2-y1*2+2*y=='0' 运⾏结果:>> lx35ans =1%运⾏结果为1表⽰y2-y1*2+2*y=='0'成⽴6.设)ln(y x x u +=,求22x u ??,22y u,y x u 2. 程序:syms x y ; f=x*log(x+y); uxx=diff(f,x,2) uyy=diff(f,y,2) f1=diff(f,x); uxy=diff(f1,y)运⾏结果: >> lx36uxx =2/(x + y) - x/(x + y)^2uyy =-x/(x + y)^2uxy =1/(x + y) - x/(x + y)^27.求下列多元隐函数的偏导数y zx z ,.(1)1cos cos cos 222=++z y x程序:syms x y z ;-(cos(x)*sin(x))/(cos(z)*sin(z)) zy =-(cos(y)*sin(y))/(cos(z)*sin(z))(2)xyz e z= 程序:syms x y z ; f=exp(z)-x*y*zzx=-diff(f,x)/diff(f,z) zy=-diff(f,y)/diff(f,z)运⾏结果:>> lx372 f =exp(z) - x*y*z zx =(y*z)/(exp(z) - x*y) zy =(x*z)/(exp(z) - x*y) 8.证明函数22)()(lnb y a x u -+-=(b a ,为常数)满⾜拉普拉斯⽅程:02222=??+??y u x u (提⽰:对结果⽤simplify 化简)练习4 积分计算1.计算下列不定积分.(1)?+dxx x 12 (2)+x xdx 2sin 12sin2.计算下列定积分.(1)?exdxx 1ln (2)ππ342sin dxxx3.求?+tdx x x x4.求摆线)cos 1(),sin (t a y t t a x -=-=的⼀拱(π≤≤20t )与x 轴所围成的图形的⾯积.5.计算⼆重积分 (1)??≤++122)(y x dxdyy x (2)??≤++xy x dxdyy x 22)(226.计算?+Ldsy x 22 L 为圆周)0(22>=+a ax y x7.计算?++-L dy y x dx y x )()(2222,其中L 为抛物线2x y =上从点(0,0)到点(2,4)的⼀段弧.练习5 matlab ⾃定义函数与导数应⽤1.建⽴函数x x a a x f 3sin 31sin ),(+=,当a 为何值时,该函数在3π=x 处取得极值,它是极⼤值还是极⼩值,并求此极值.2.确定下列函数的单调区间.(1)7186223---=x x x y (2))0(82>+=x xx y3.求下列函数的最⼤值、最⼩值.(1)2332x x y -=41≤≤-x(2)312824≤≤-+-=x x x y练习6 matab 矩阵运算与数组运算1.计算(1)???--521111204321+???21(2)??-01301213?03010*******????? ??-205101(3)52422??- 2.设????? ??-=243121013A ,??-=112111201B ,求满⾜关系B X A =-23的X .练习7 矩阵与线性⽅程组1.求下列矩阵的秩.(1)???-321110021 (2)4820322513454947513253947543173125 2.求下列矩阵的⾏列式,如可逆,试⽤不同的⽅法求其逆矩阵.(1)??--285421122 (2)??---6201111121324321 3.设X ????? ?-111012111==--+=+-+=+-+=+-+6223312433862344224221432143214321x x x x x x x x x x x x x x x x (2)-=+--=+--=-+-212201432143214321x x x x x x x x x x x x练习8 常微分⽅程与级数求1-6题微分⽅程的通解1.1222+='y y y x 2.x y x y dx dy -+= 3.x xx y y +='cos 4.1)2sin cos (='+y y y x 5.x e y y y x2cos 3=-'+'' 6.x x y y sin 14++=+'' 求7、8题初值问题的解7.==-++-+=10)2(212222x y dx dy x xy y y xy x8.===++==0000222,02V dt dx x x x a dt dxn dtx d t t9.给出函数x x e x f xx cos 2sin )(+=在点0=x 的7阶taylor 展开式以及在x=1处的 5阶taylor 展开式.10.判别下列级数的敛散性,若收敛求其和.(1)+++311(2)∑∞=+112n nntgπ11.求幂级数∑∞=--22)1(nnnnnx的和函数.12.求函数项级数∑∞=-1nnnn xπ的和函数.。

数学建模实验项目一 Matlab软件及应用

数学建模实验项目一 Matlab软件及应用

数学建模实验项目一Matlab软件及应用一、实验的目的及意义1. 熟悉Matlab软件的用户环境。

2. 掌握Matlab软件的基本绘图函数。

4. 掌握Matlab软件的初等代数运算。

通过该实验的学习,使学生能灵活应用Matlab软件解决一些简单的问题,能借助Matlab软件的绘图功能,对函数的特性进行探讨,广泛联系,大胆猜测,发现二、实验内容1、完成下面的上机作业① A=[1, 1, 1; 1, 2, 3; 1, 3, 6] , B=[8, 1, 6; 3, 5, 7; 4, 9, 2] 计算 A+B,B-A,A/B,A\B,A的逆矩阵,A.*B。

②计算C=A*B,将C的值保存在 data050317.mat文件中③自己举例,完成对eye,rand,sin,sqrt,log,sort,max,sum,round等函数的试验。

2、编写函数文件,实现绘制函数z=2222 sinyx yx ++的图形,要求能通过参数调整绘制图形的区域大小。

如:能绘制函数在[-2:2,-2:2]或[-8:8,-8:8]等等内的图形;并对图形加标注。

3、分别用2、3、4、5阶多项式来逼近[0,3]上一正弦函数sinx,并做出拟合曲线及sinx函数曲线图,了解多项式的逼近程度和有效拟合区间随多项式的阶数有何变化。

三、实验步骤及过程1.建立一个名为“数学13级第01次作业*******”(********表示自己的学号)的文件夹。

2. 打开Matlab软件,练习实验指定的内容。

3. 写出实验报告并上传到天空教室。

数学学院2015 ~2016 学年第 2 学期实验报告格式x=-8:0.1:8;y=x;[x,y]=meshgrid(x,y); %生成 x-y 坐标“格点”矩阵z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); %计算格点上的函数值surf(x,y,z); %三维曲面图colormap(hot);。

利用Matlab解决常见数学问题的案例分析

利用Matlab解决常见数学问题的案例分析

利用Matlab解决常见数学问题的案例分析概述:Matlab是一款流行的科学软件,广泛应用于数学建模、数据分析、图像处理等领域。

本文将通过几个实际案例,介绍如何利用Matlab解决常见的数学问题,并分析其解决方法和效果。

案例一:线性方程组的求解线性方程组是数学中常见的问题之一。

假设有如下线性方程组:3x + 2y = 14x - 3y = 5可以使用Matlab中的线性方程组求解函数`linsolve`来求解。

首先,定义系数矩阵A和常数矩阵b,并调用`linsolve`函数求解方程组:```matlabA = [3 2; 4 -3];b = [1; 5];x = linsolve(A, b);```运行上述代码后,可以得到方程组的解x为:x = 3y = -2案例二:函数曲线绘制Matlab具有强大的绘图功能,可以绘制各种函数曲线。

例如,我们可以绘制正弦函数sin(x)在区间[-2π,2π]上的曲线。

首先,定义x的取值范围,并计算对应的y 值:```matlabx = -2*pi:0.1:2*pi;y = sin(x);```接下来,使用`plot`函数将曲线绘制出来:```matlabplot(x, y);```运行代码后,可以得到正弦函数的曲线图。

案例三:最小二乘拟合最小二乘拟合是一种常见的曲线拟合方法,用于将一组数据拟合成一条曲线。

假设有一组离散的数据点,我们希望找到一个曲线来拟合这些数据。

在Matlab中,可以使用`polyfit`函数进行最小二乘拟合。

例如,假设有一组数据:x = [1 2 3 4 5];y = [0.5 2.5 2 4 3.5];可以使用`polyfit`函数进行线性拟合:```matlabp = polyfit(x, y, 1);```其中,第一个参数x是自变量的取值,第二个参数y是因变量的取值,第三个参数1表示进行一次多项式拟合。

拟合的结果保存在向量p中,p(1)为拟合曲线的斜率,p(2)为截距。

MATLAB中的数学建模方法及应用

MATLAB中的数学建模方法及应用

MATLAB中的数学建模方法及应用引言数学建模作为一门重要的学科,已经成为了现代科学研究和工程实践中不可或缺的一部分。

而在数学建模过程中,数值计算和数据分析是关键步骤之一。

MATLAB作为一种强大的数学计算软件,在数学建模领域得到了广泛应用。

本文将介绍MATLAB中常用的数学建模方法,并探讨一些实际应用案例。

一、线性模型线性模型是数学建模中最基础的一种模型,它假设系统的响应是线性的。

在MATLAB中,我们可以通过矩阵运算和线性代数的知识来构建和求解线性模型。

例如,我们可以使用MATLAB中的线性回归函数来拟合一条直线到一组数据点上,从而得到一个线性模型。

二、非线性模型与线性模型相对应的是非线性模型。

非线性模型具有更强的表达能力,可以描述更为复杂的系统。

在MATLAB中,我们可以利用优化工具箱来拟合非线性模型。

例如,我们可以使用MATLAB中的非线性最小二乘函数来优化模型参数,使得模型与实际数据拟合程度最好。

三、微分方程模型微分方程模型在科学研究和工程实践中广泛应用。

在MATLAB中,我们可以使用ODE工具箱来求解常微分方程(ODE)。

通过定义初始条件和微分方程的表达式,MATLAB可以使用多种数值方法来求解微分方程模型。

例如,我们可以利用MATLAB中的欧拉法或者龙格-库塔法来求解微分方程。

四、偏微分方程模型偏微分方程(PDE)模型是描述空间上的变化的数学模型。

在MATLAB中,我们可以使用PDE工具箱来求解常见的偏微分方程模型。

通过定义边界条件和初始条件,MATLAB可以通过有限差分或有限元等方法来求解偏微分方程模型。

例如,我们可以利用MATLAB中的热传导方程求解器来模拟物体的温度分布。

五、曲线拟合与数据插值曲线拟合和数据插值是数学建模过程中常见的任务。

在MATLAB中,我们可以使用拟合和插值工具箱来实现这些任务。

通过输入一系列数据点,MATLAB可以通过多项式拟合或者样条插值等方法来生成一个模型函数。

数学建模实验报告经典实例

数学建模实验报告经典实例

《数学建模》实验报告计算过程如下, 结果如下:画图程序命令如下:函数图象如下:实验题目二: 编写利用顺序Guass消去法求方程组解的M-函数文件,并计算方程组的解解: M-函数文件如下:方程组的计算结果如下:实验题目三: 编写“商人们安全过河”的Matlab程序解: 程序如下:function foot=chouxiang%%%%%%%%%%%%%%%%%%%%%% 程序开始需要知道商人数, 仆人数, 船的最大容量n=input('输入商人数目:');nn=input('输入仆人数目:');nnn=input('输入船的最大容量:');if nn>nn=input('输入商人数目:');nn=input('输入仆人数目:');nnn=input('输入船的最大容量:');end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 决策生成jc=1; % 决策向量存放在矩阵“d”中, jc为插入新元素的行标初始为1for i=0:nnnfor j=0:nnnif (i+j<=nnn)&(i+j>0) % 满足条件D={(u,v)|1<=u+v<=nnn,u,v=0,1,2}d(jc,1:3)=[i,j 1]; %生成一个决策向量后立刻将他扩充为三维(再末尾加“1”)d(jc+1,1:3)=[-i,-j,-1]; % 同时生成他的负向量jc=jc+2; % 由于一气生成两个决策向量,jc指标需要往下移动两个单位endendj=0;end再验证:程序结果说明在改变商人和仆人数目, 其他条件不变的条件下。

可能无法得到结果。

程序结果说明在改变商人和仆人数目,其他条件不变的条件下。

可能无法得到结果。

数学建模, 数学实与Matlab的应用实例PPT32页

数学建模, 数学实与Matlab的应用实例PPT32页
45、法律的制定是为了保证每一个人 自由发 挥自己 的才能 ,而不 是为了 束缚他 的才能 。—— 罗伯斯 庇尔
31、只有永远躺在泥坑里的人,才不会再掉进坑里。——黑格尔 32、希望的灯一Байду номын сангаас熄灭,生活刹那间变成了一片黑暗。——普列姆昌德 33、希望是人生的乳母。——科策布 34、形成天才的决定因素应该是勤奋。——郭沫若 35、学到很多东西的诀窍,就是一下子不要学很多。——洛克
数学建模, 数学实与Matlab 的应用实例
41、实际上,我们想要的不是针对犯 罪的法 律,而 是针对 疯狂的 法律。 ——马 克·吐温 42、法律的力量应当跟随着公民,就 像影子 跟随着 身体一 样。— —贝卡 利亚 43、法律和制度必须跟上人类思想进 步。— —杰弗 逊 44、人类受制于法律,法律受制于情 理。— —托·富 勒

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

数学建模数学实验与Matlab的应用实例
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 艘战舰. 显然是英方战败.
  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艘. 双方的战 斗力与各自的战舰数成比例.
相关文档
最新文档