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在电气工程中的应用
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 解决数学建模中的问题,并善用这一工具。
常用控制命令:clc :%清屏; clear :%清变量; save :%保存变量; load :%导入变量一、利用公式直接进行赋值计算本金P 以每年n 次,每次i%的增值率(n 与i 的乘积为每年增值额的百分比)增加,当增加到r ×P 时所花费的时间T 为:(利用复利计息公式可得到下式))01.01ln(ln )01.01(i n rT i P P r nT +=⇒+=⨯(12,5.0,2===n i r )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'))rT图1从图1中既可以看到T 随r 的变化规律,而且还能看到i 的不同取值对T —r 曲线的影响(图中的六条曲线分别代表i 的不同取值)。
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数学建模常用模型及编程【原创实用版】目录一、引言二、MATLAB 数学建模的基本概念1.矩阵的转置2.矩阵的旋转3.矩阵的左右翻转4.矩阵的上下翻转5.矩阵的逆三、MATLAB 数学建模的常用函数1.绘图函数汇总2.坐标轴边界3.沿曲线绘制误差条4.在图形窗口中保留当前图形5.创建线条对象四、MATLAB 数学建模的实例1.牛顿第二定律2.第一级火箭模型五、结论正文一、引言数学建模是利用数学方法和工具对现实世界中的问题进行抽象和求解的过程。
在数学建模中,MATLAB 作为一种广泛使用的数学软件,能够提供丰富的函数库和强大的计算能力,使得数学模型的建立和求解变得简单高效。
本文将介绍 MATLAB 数学建模中的常用模型以及编程方法。
二、MATLAB 数学建模的基本概念在使用 MATLAB 进行数学建模之前,我们需要了解一些基本的概念和操作。
1.矩阵的转置在 MATLAB 中,矩阵的转置可以通过单撇号(")实现。
例如,对于一个 3x3 的矩阵 A,其转置矩阵 A"可以通过以下命令获得:```matlabA = [[1, 2, 3];[4, 5, 6];[7, 8, 9]];A" = A"```2.矩阵的旋转MATLAB 提供了函数 rot90(a,k) 用于将矩阵 a 旋转 90 度,其中k 表示旋转的次数。
当 k 为 1 时,可以省略。
例如:```matlabA = [[1, 2, 3];[4, 5, 6];[7, 8, 9]];A_rotated = rot90(A, 1)```3.矩阵的左右翻转MATLAB 提供了函数 fliplr(a) 用于对矩阵 a 进行左右翻转。
例如:```matlabA = [[1, 2, 3];[4, 5, 6];[7, 8, 9]];A_flipped = fliplr(A)```4.矩阵的上下翻转MATLAB 提供了函数 flipud(a) 用于对矩阵 a 进行上下翻转。
数学建模 第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(liti21)
3)运算结果为: f =0.0043 0.0051 0.0056 0.0059
0.0062 0.0062 0.0063 0.0063 x = 0.0063 -0.0034 0.2542
0.0061 0.0063
4)结论:a=0.0063, b=-0.0034, k=0.2542
的。
1. lsqcurvefit
已知数据点: xdata=(xdata1,xdata2,…,xdatan),
ydata=(ydata1,ydata2,…,ydatan) lsqcurvefit用以求含参量x(向量)的向量值函数
F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T 中的参变量x(向量),使得
6 0.28 15
-0.02
解:(1)画出散点图: x=[0;0.4;1.2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6; 14.4;15]; y=[1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;0.15;-0.071;0.059;0.08;0.032;-0.015;-0.02]; plot(x,y,'r*')
MATLAB数学建模算法及实例分析
康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。
§3 指派问题 3.1 指派问题的数学模型
例 7 拟分配 n 人去干 n 项工作,每人干且仅干一项工作,若分配第 i 人去干第 j
项工作,需花费 cij 单位时间,问应如何分配工作才能使工人花费的总时间最少?
容易看出,要给出一个指派问题的实例,只需给出矩阵 C = (cij ) , C 被称为指派
⎪⎩lb ≤ x ≤ ub
其中 c 和 x 为 n 维列向量, A 、 Aeq 为适当维数的矩阵, b 、 beq 为适当维数的列向
量。
-1-
例如线性规划
max cT x s.t. Ax ≥ b x
的 Matlab 标准型为
min − cT x s.t. − Ax ≤ −b x
1.3 线性规划问题的解的概念
们建立有效模型的关键之一。
1.2 线性规划的 Matlab 标准形式
线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以
是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性
规划的标准形式为
min cT x x
⎧Ax ≤ b
s.t.
⎪ ⎨
Aeq
⋅
x
=
beq
xij
≥
0
⎩
显然是一个线性规划问题,当然可以用单纯形法求解。
对产销平衡的运输问题,由于有以下关系式存在:
∑ ∑ ∑ ∑ ∑ ∑ n
bj
j =1
=
m i =1
⎜⎜⎝⎛
n j =1
xij
⎟⎟⎠⎞
=
n ⎜⎛ m ⎝ j=1 i=1
xij
MATLAB数学建模14个范例
1.整数规划的蒙特卡洛解法2015-06-10 (2)2. 罚函数法 2015-06-11 (3)3. 层次分析 2015-06-12 (4)4. 粒子群优化算法的寻优算法--非线性函数极值寻优 2015-06-13 (5)5有约束函数极值APSO寻优 2015-06-14 (12)6.模拟退火算法 TSP问题2015-06-15 (17)7. 右端步连续微分方程求解2015-06-16 (19)8. 多元方差分析 2015-06-17 (22)9. 基于MIV的神经网络变量筛选 2015-06-18 (25)10. RBF网络的回归--非线性函数回归的实现 2015-06-19 (29)11. 极限学习机在回归拟合中的应用 2015-06-20 (32)12. 极限学习机在分类中的应用 2015-06-21 (34)13. 基于PSO改进策略 2015-06-22 (37)14. 神经网络遗传算法函数极值寻优 2015-06-23 (46)1.1.整数规划的蒙特卡洛解法2015-06-10 已知非线性整数规划为:⎪⎪⎪⎩⎪⎪⎪⎨⎧≤++≤++≤++++≤++++=≤≤-----++++=200520062800622400)5,....,1(9902328243max 54233216432154321543212524232221x x x x x x x x x x x x x x x x i x x x x x x x x x x x z i如果用显枚举试探,共需要计算100^5=10^10个点,其计算量非常大。
然而应用蒙特卡洛去随机模拟计算10^6个点,便可以找到满意解,那么这种方法的可信度究竟怎么样呢? 下面就分析随机采样10^6个点计算时,应用概率理论估计下可信度。
不是一般性,假设一个整数规划的最优点不是孤立的奇点。
假设目标函数落在高值区的概率分别为0.01,0.00001,则当计算10^6个点后,有任一个点落在高值区的概率分别为:1-0.99^1000000=0.99...99(100多位) 1-0.99999^1000000=0.999954602解 (1)首先编写M 文件 mengte.m 定义目标函数f 和约束向量g,程序如下:function [f,g]=mengte(x);f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)-8*x(1)-2*x(2)-3*x(3)-... x(4)-2*x(5); g=[sum(x)-400x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800 2*x(1)+x(2)+6*x(3)-200 x(3)*x(3)+x(4)+5*x(5)-200];(2)编写M 文件mainint.m 如下求问题的解: rand('state',sum(clock)); p0=0; ticfor i=1:10^5x=99*rand(5,1);x1=floor(x);%向下取整 x2=ceil(x);%向上取整 [f,g]=mengte(x1); if sum(g<=0)==4 if p0<=f x0=x1; p0=f; end end[f,g]=mengte(x2); if sum(g<=0)==4 if p0<=fx0=x2; p0=f; end end end x0,p0Matlab 求解整数规划祥见第二章(优秀教材)2.罚函数法 2015-06-11利用罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题,因而也称这种方法为系列无约束最小化技术,简记为SUMT 。
Matlab在数学建模中的应用(模型求解)
qk,t与 Q(k,t)间的绝对误差
e Qt qt
e=Q-q(1:length(Q));
相对误差
E
e
Qt
E=e./Q;
整理一下
停车场问题 (MCM 87B题)
在新英格兰 地区一个镇上,位 于街角处的一个 停车场的场主要 设计停车场的安 排,即设计”在地 上的线应怎样划 法”。这个停车场 是长方形的,长 200英尺,宽100 英尺。
怎样用matlab求解这个模型呢??
分析:对如上面的线形规划问题,可用linprog()函数求解。
模型
Max S 5x 6y s.t. 2x 3y 1400
x 6y 2400 4x 2y 2000 x 0, y 0, x, y z
对应matlab语句
f=[-5,-6]; A=[2 3 b=[1400
n
for d=2:length(Q);
Q1n Qi
Q1=cumQs(udm)=(QQ)(d-1)+Q(d);
i 1
得到
end
1 2
Q12
Q11 ,1
1 2
Q13
Q12 ,1
B ...............................
...............................
甲、乙产品各多少件),使获得利润最大,并求出最大利
润。
品 原材料 能源消耗 劳动力 利润
种 (千克) (百元) (人) (千元)
甲2
1
4
5
乙3
6
2
6
解:设安排生产甲产品x 件,乙产品y 件,相应的利 润为S。则此问题的数学模型为:
Max S 5x 6 y s.t. 2x 3y 1400
数学建模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入门与作图实用数学建模为例ppt课件
设:a=[a1,a2,…,an], b=[b1,b2,…,bn] 则:a+b= [a1+b1,a2+b2,…,an+bn]
a.*b= [a1*b1,a2*b2,…,an*bn]
a./b= [a1/b1,a2/b2,…,an/bn]
MATLAB(fun)
返回
二、数 组
MATLAB(shuzu1)
1. 创建简单的数组 x=[a b c d e f]创建包含指定元素的行向量.
x=first:last
创建从first开始,加1计数,到last结束的行向量.
x=first:increment:last
创建从first开始,加increment计数,到last结束的 行向量.
while (expression) {commands}
end
只要在表达式(expression)里的所有元素为真,就执行 while和end语句之间的命令串{commands}.
例 设银行年利率为11.25%.将10000元钱存入银行,问 多长时间会连本带利翻一番?
MATLAB(while1)
3. if-else-end结构 (1)有一个选择的一般形式是:
MATLAB(shuzu2)
3. 数组的方向
前面例子中的数组都是一行数列,是行方向分布的. 称之为行向量. 数组也可以是列向量,它的数组操作和运 算与行向量是一样的,唯一的区别是结果以列形式显示.
产生列向量有两种方法: 直接产生 例 c=[1;2;3;4] 转置产生 例 b=[1 2 3 4]; c=b′
后将该点集的坐标传给MATLAB函数画图.
matlab数学建模实例
m a t l a b数学建模实例集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#第四周3.function y=mj()for x0=0::8x1=x0^*x0^2+*;if (abs(x1)<x0endend4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(分别取10-3、10-5、10-8)。
简单迭代法:function y=jddd(x0)x1=(20+10*x0-2*x0^2-x0^3)/20;k=1;while (abs(x1-x0)>=x0=x1;x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1;endx1k埃特金法:function y=etj(x0)x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10;x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=1;while (abs(x3-x0)>=x0=x3;x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10;x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1;endx3k牛顿法:function y=newton(x0)x1=x0-fc(x0)/df(x0);k=1;while (abs(x1-x0)>=x0=x1;x1=x0-fc(x0)/df(x0);k=k+1;endx1kfunction y=fc(x)y=x^3+2*x^2+10*x-20;function y=df(x)y=3*x^2+4*x+10;第六周1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。
消去法:x=a\d或[L,U]=lu(a);x=inv(U)inv(L)dJacobi迭代法:function s=jacobi(a,d,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);C=inv(D);B=C*(L+U);G=C*d;s=B*x0+G;n=1;while norm(s-x0)>=x0=s;s=B*x0+G;n=n+1;endnSeidel迭代法:function s=seidel(a,d,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);C=inv(D-L);B=C*U;G=C*d;s=B*x0+G;n=1;while norm(s-x0)>=x0=s;s=B*x0+G;n=n+1;endn松弛法:function s=loose(a,d,x0,w)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);C=inv(D-w*L);B=C*((1-w)*D+w*U);G=w*C*d;s=B*x0+G;n=1;while norm(s-x0)>=x0=s;s=B*x0+G;n=n+1;endn2.练习MATLAB的常用矩阵语句,就龙格现象函数(p88)练习插值语句interp, spline,并比较。
数学建模(Matlab)
数学规划作业(MatLab)1、某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台.每季度的生产费用为 ()2f x ax bx=+(单位:元), 其中x 是该季度生产的台数.若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元.已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a =50、b =0.2、c =4,问:工厂应如何安排生产计划,才能既满足合同又使总费用最低.讨论a 、b 、c 变化对计划的影响,并作出合理的解释.解:问题的分析和假设: 分析:问题的关键在于由于工厂的生产能力足以满足每个季度用户的需求,但是为了使总费用最少,那么利用每个季度生产费用的不同,可用利用上个生产费用低的季度多生产来为下个季度进行准备,前提是本月节省下的费用减去总的发动机存储费用还有剩余,这样生产才有价值,才可能满足合同的同时又能使总费用最低。
基本假设:1工厂的生产能力不受外界环境因素影响。
2为使总费用最低,又能满足合同要求,各个季度之间的生产数量之间是有联系的。
3第一季度开始时无存货。
4工厂每季度的生关费用与本季度生产的发动机台数有关。
5生产要按定单的数量来进行,生产的数量应和订单的数量相同,以避免生产出无用的机器。
符号规定:X1―――第一季度生产发动机的数量 X2―――第二季度生产发动机的数量 X3―――第三季度生产发动机的数量 建模:1.三个季度发动机的总的生产量为180台。
2.每个季度的生产量和库存机器的数量之和要大于等于本季度的交货数量。
3.每个月的生产数量要符合工厂的生产能力。
4.将实际问题转化为非线性规划问题,建立非线性规划模型 目标函数min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(x1-40)+4(x1+x2-100) 整理,得min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(2x1+x2-140) 约束函数 s.t x1+x2≥100; x1+x2+x3=180; 40≤x1≤100; 0≤x2≤100;0≤x3≤100;求解的Matlab程序代码:M-文件 fun.m: function f=fun (x);f=50*(x(1)+x(2)+x(3))+0.2*(x(1)^2+x(2)^2+x(3)^2)+4*(2*x(1) +x(2)-140)主程序fxxgh.m:x0=[60;60;60];A=[-1 -1 0];b=[-100];Aeq=[1 1 1];beq=[180];vlb=[40;0;0];vub=[100;100;100];[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)计算结果与问题分析讨论:计算结果:x = 50.000060.000070.0000fval = 11280问题分析讨论:由运算结果得:该厂第一季度、第二季度、第三季度的生产量分别是50台、60台和70台时,才能既满足合同又使总费用最低,费用最低为11280元。
数学建模:MatLab实验(解答)
MatLab 实验一、编写函数文件,给出求解席位问题的Q 值方法对应的MatLab 方法,输入的参数为总席位数及各单位的人数. (程序:qf.m )二、编写函数文件,计算矩阵正常意义下的乘积,在矩阵阶数不匹配的时候,返回错误信息. (用循环方式) (程序:lx2.m )三、编写脚本文件,用数据模拟方法近似计算椭圆周22123x y +=所围成的面积,要求总共模拟一千次,每次抽取50万个随机点,最后以平均值作为相应的面积近似值. (程序:lx3.m )四、利用二重积分计算椭球面2221946x y z ++=的面积. 曲面积分的参数积分形式:若曲面能表示成:()()(),,,,,x x u v y y u v z z u v ===确定,则相应的积分为()()()(),d ,,,,,d .uvD f x y S f x u v y u v z u v u v ∑=⎡⎣⎰⎰⎰⎰ 其中222222,,.u u u v v v u v u v u v E x y x G x y x F x x y y z z =++=++=++对该问题,做变换:()()3cos sin ,2sin sin ,sqrt 6cos ,02π,0πx u v y y v z v u v ===≤≤≤≤,代入上式后得积分值79.6432. (程序:lx4.m )五、用两种方法求解微分方程1,0x xy x y y ='=-⎧⎪⎨=⎪⎩并作出函数在区间[]0.1,3内的图形.(程序:lx5.m )注 该微分方程的解析解为:11.22y x x=-六、用两种方法求解微分方程()0cos 2,1,00x y x y y y =''=-⎧⎪⎨'==⎪⎩并作出函数在区间[]2π,2π-内的图形.注 该微分方程的解析解为:41cos cos2.33x x -七、用两种方法求解微分方程02/,1x y y x y y ='=-⎧⎪⎨=⎪⎩并作出函数在区间[]0,4内的图形,并对图形作比较.八、编写函数文件,输入参数为矩阵的阶数,要求生成一个元素介于1090的随机整数矩阵,找出其中既是3又是5的元素,将其行标和列标分别写人两个向量中,并求出这些元素的和,平均值及个数,存入到变量中,最后输出.,若没有这样的元素存在,显示“no such elements founded!” (程序Lx8.m )九、追踪问题缉私雷达发现: 距离c 处有一走私船正一匀速a 沿直线行驶, 缉私船立即以最大速度(匀速v )追赶, 若用雷达进行跟踪, 保持船的瞬时速度方向始终指向走私船, 则缉私船的运动轨迹如何? 是否能追上走私船? 如果能追上, 需要多长时间? (取20,40,15a v c ===) (程序Chasing.m )问题的进一步探讨若走私船与x 轴的夹角为,θ则问题将如何十、用数据模拟的方法计算两球()2222221,11x y z x y z ++≤++-≤相交的体积。
Matlab数学建模实验报告
数学实验报告实验序号:实验一日期:实验序号:实验二日期:实验序号: 实验三 日期:班级 姓名 学号实验 名称架设电缆的总费用问题背景描述:一条河宽1km ,两岸各有一个城镇A 与B ,A 与B 的直线距离为4km ,今需铺设一条电缆连接A 于B ,已知地下电缆的铺设费用是2万元/km ,水下电缆的修建费用是4万元/km 。
实验目的:通过建立适当的模型,算出如何铺设电缆可以使总花费最少。
数学模型:如图中所示,A-C-D-B 为铺设的电缆路线,我们就讨论a=30度,AE (A 到河岸的距离)=0.5km ,则图中:DG=4-AC cos b -1/tan c ; BG=0.5km AC=AE/sin bCD=EF/sin c=1/sin c BD=BG D 22G则有总的花费为:W=2*(AC+BD )+4*CD ;我们所要做的就是求最优解。
实验所用软件及版本:Matlab 7.10.0实验序号: 实验四 日期:班级 姓名 学号实验 名称慢跑者与狗问题背景描述:一个慢跑者在平面上沿曲线25y x 22=+以恒定的速度v 从(5,0)起逆时钟方向跑步,一直狗从原点一恒定的速度w ,跑向慢跑者,在运动的过程中狗的运动方向始终指向慢跑者。
实验目的:用matlab 编程讨论不同的v 和w 是的追逐过程。
数学模型:人的坐标为(manx,many ),狗的坐标为(dogx,dogy ),则时间t 时刻的人的坐标可以表示为manx=R*cos(v*t/R); many=R*sin(v*t/R);sin θ=| (many-dogy)/sqrt((manx-dogx)^2+(many-dogy)^2)|;cos θ=| (manx-dogx)/sqrt((manx-dogx)^2+(many-dogy)^2)|;则可知在t+dt 时刻狗的坐标可以表示为:dogx=dogx(+/-)w* cos θ*dt; dogy=dogy(+/-)w* sin θ*dt; (如果manx-dogx>0则为正号,反之则为负号)实验所用软件及版本:Matlab 7.10.0实验序号:实验五日期:班级姓名学号两圆的相对滚动实验名称问题背景描述:有一个小圆在大圆内沿着大圆的圆周无滑动的滚动。
Matlab中的数学建模与模拟方法
Matlab中的数学建模与模拟方法Matlab(Matrix Laboratory)是一种广泛使用的数值计算与科学分析软件,它在数学建模与模拟方面具有独特的优势和功能。
本文将从数学建模与模拟的角度,探讨在Matlab中应用的方法与技巧。
一、数学建模的基本原理数学建模是将实际问题抽象为数学模型,并利用数学方法对其进行分析与求解的过程。
在Matlab中进行数学建模,首先需要明确问题的表达方式。
常见的数学建模方式包括:1. 方程模型:通过描述问题中的关系式、条件和约束,将问题转化为一组数学方程。
在Matlab中,可以利用符号计算工具箱来构建方程模型,并求解方程组,得到问题的解析解。
2. 统计模型:通过收集和分析实际数据,建立统计模型来描述数据背后的规律和关联。
在Matlab中,可以利用统计工具箱来进行数据分析和建模,包括回归分析、方差分析等。
3. 优化模型:通过设定目标函数和约束条件,寻找使目标函数取得最大(或最小)值的变量取值。
在Matlab中,可以利用优化工具箱来构建和求解优化模型,包括线性规划、非线性规划等。
二、数学建模的实例为了更好地理解Matlab中数学建模的方法,我们来看一个实际的案例:某公司生产一种产品,其成本与产量的关系为C=200+30x,售价与产量的关系为P=50-x,其中C表示成本,P表示售价,x表示产量。
现在公司希望确定一个最佳产量,使得利润最大化。
首先,我们可以建立一个利润模型,利润等于售价减去成本,即Profit=P-C。
在Matlab中,可以使用符号计算工具箱,通过定义符号变量和构建符号表达式,来实现利润模型的建立。
下一步,我们需要确定目标函数和约束条件。
在本例中,目标函数是利润的最大化,约束条件是产量不能为负数。
在Matlab中,可以使用优化工具箱的线性规划函数linprog来求解该最优化问题。
通过定义目标函数系数、约束条件和取值范围,利用linprog函数可以得到最佳产量和最大利润。
数学建模30种经典模型matlab
一、概述数学建模是数学与实际问题相结合的产物,通过建立数学模型来解决现实生活中的复杂问题。
Matlab作为一个强大的数学计算工具,在数学建模中具有重要的应用价值。
本文将介绍30种经典的数学建模模型,以及如何利用Matlab对这些模型进行建模和求解。
二、线性规划模型1. 线性规划是数学建模中常用的一种模型,用于寻找最优化的解决方案。
在Matlab中,可以使用linprog函数对线性规划模型进行建模和求解。
2. 举例:假设有一家工厂生产两种产品,分别为A和B,要求最大化利润。
产品A的利润为$5,产品B的利润为$8,而生产每单位产品A 和B分别需要8个单位的原料X和10个单位的原料Y。
此时,可以建立线性规划模型,使用Matlab求解最大化利润。
三、非线性规划模型3. 非线性规划是一类更加复杂的规划问题,其中目标函数或约束条件存在非线性关系。
在Matlab中,可以使用fmincon函数对非线性规划模型进行建模和求解。
4. 举例:考虑一个有约束条件的目标函数,可以使用fmincon函数在Matlab中进行建模和求解。
四、整数规划模型5. 整数规划是一种特殊的线性规划问题,其中决策变量被限制为整数。
在Matlab中,可以使用intlinprog函数对整数规划模型进行建模和求解。
6. 举例:假设有一家工厂需要决定购物哪种机器设备,以最大化利润。
设备的成本、维护费用和每台设备能生产的产品数量均为已知条件。
可以使用Matlab的intlinprog函数对该整数规划模型进行建模和求解。
五、动态规划模型7. 动态规划是一种数学优化方法,常用于多阶段决策问题。
在Matlab 中,可以使用dynamic programming toolbox对动态规划模型进行建模和求解。
8. 举例:考虑一个多阶段生产问题,在每个阶段都需要做出决策以最大化总利润。
可以使用Matlab的dynamic programming toolbox对该动态规划模型进行建模和求解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四周3.中的三个根。
,在求8] [0,041.76938.7911.1-)(23=-+=x x x x ffunction y=mj()for x0=0:0.01:8x1=x0^3-11.1*x0^2+38.79*x0-41.769;if (abs(x1)<1.0e-8)x0endend4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。
简单迭代法:function y=jddd(x0)x1=(20+10*x0-2*x0^2-x0^3)/20;k=1;while (abs(x1-x0)>=1.0e-3)x0=x1;x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1;endx1k埃特金法:function y=etj(x0)x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10;x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=1;while (abs(x3-x0)>=1.0e-3)x0=x3;x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10;x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1;end2,020102)(023==-++=x x x x x fx3k牛顿法:function y=newton(x0)x1=x0-fc(x0)/df(x0);k=1;while (abs(x1-x0)>=1.0e-3)x0=x1;x1=x0-fc(x0)/df(x0);k=k+1;endx1kfunction y=fc(x)y=x^3+2*x^2+10*x-20;function y=df(x)y=3*x^2+4*x+10;第六周1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。
消去法:x=a\d或[L,U]=lu(a);x=inv(U)inv(L)dJacobi迭代法:function s=jacobi(a,d,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);C=inv(D);B=C*(L+U);G=C*d;s=B*x0+G;n=1;while norm(s-x0)>=1.0e-8x0=s;s=B*x0+G;n=n+1;endnSeidel迭代法:function s=seidel(a,d,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);C=inv(D-L);B=C*U;G=C*d;s=B*x0+G;n=1;while norm(s-x0)>=1.0e-5x0=s;s=B*x0+G;n=n+1;endn松弛法:function s=loose(a,d,x0,w)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);C=inv(D-w*L);B=C*((1-w)*D+w*U);G=w*C*d;s=B*x0+G;n=1;while norm(s-x0)>=1.0e-8x0=s;s=B*x0+G;n=n+1;endn2.练习MATLAB的常用矩阵语句,就龙格现象函数(p88)练习插值语句interp, spline,并比较。
3.测得血液中某药物浓度随时间的变化值为:求t=0.45, 1.75, 5.0, 6.0 时的浓度C.分别用n=4,5,9的拉格朗日插值计算;并用样条函数插值计算,并比较结果。
拉格朗日插值:function s=lagr(n)x=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0];y=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88];x0=[0.45 1.75 5.0 6.0];m=length(x0);for i=1:mD=abs(x-x0(i));I=1;while I<=n+1for a=1:length(x)if D(a)==min(D)c(I)=a;D(a)=max(D)+1;breakendendI=I+1;endb=sort(c);z=x0(i);t=0.0;for k=1:length(b)u=1.0;for j=1:length(b)if j~=ku=u*(z-x(b(j)))/(x(b(k))-x(b(j)));endendt=t+u*y(b(k));ends(i)=t;end样条函数差值:Interp1(x,y,x0,’spline’)Spline(x,y,x0)第八周1.给定某药物浓度随时间的变化值(作业3),1)分别采用样条函数和三点公式(设h=0.1)求结点处的导数值,并比较结果。
2)求该时间段的平均浓度(定步长S法)样条函数:x=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0];y=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88];pp=csape(x,y,'not-a-knot');df=fnder(pp);df1=ppval(df,x)三点公式:function df=sandian()t=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0];c=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88];h=0.1;n=length(t);for i=1:nx0=t(i);y0=c(i);y1=spline(t,c,x0+h);y2=spline(t,c,x0+2*h);y3=spline(t,c,x0-h);y4=spline(t,c,x0-2*h);switch icase 1df(i)=(-3*y0+4*y1-y2)/(2*h);case ndf(i)=(y4-4*y3+3*y0)/(2*h);otherwisedf(i)=(y1-y3)/(2*h);endendend平均浓度:function averagec=simpson()t=[0.25 0.5 1.0 1.5 2.0 3.0 4.0 6.0 8.0 10.0];c=[19.30 18.15 15.36 14.10 12.89 9.32 7.55 5.24 3.86 2.88]; m=(t(1)+t(10))/2;y=spline(t,c,m);averagec=(c(1)+4*y+c(10))/6;end2.练习MATLAB常用的trapz, quad, quadl等语句。
计算:x=0:8;y=1./(sqrt(2.*pi)).*exp(-(x-4).^2./2);z=trapz(x,y)function y=jifen(x)y=1./(sqrt(2.*pi)).*exp(-(x-4).^2./2);q1=quad('jifen',0,8,1.0e-8)q2=quadl('jifen',0,8,1.0e-8)3.采用变步长经典R-K法, ode23, ode45计算例9-5,并作比较。
变步长经典R-K法:(可能有问题)function z=jdrk(m)x0=[25 2]';a=0;b=15;n=length(x0);z=zeros(n,m);k1=zeros(n,1);k2=zeros(n,1);k3=zeros(n,1);k4=zeros(n,1);t=a;x=x0;x2=zeros(n,1);x3=x2;x4=x2;h=choose(m);m1=15/h+1;for k=1:m1k1=prey(t,x);for i=1:nx2(i)=x(i)+1/2*h*k1(i);endk2=prey(t+h/2,x2);for i=1:nx3(i)=x(i)+1/2*h*k2(i);endk3=prey(t+h/2,x3);for i=1:nx4(i)=x(i)+h*k3(i);endk4=prey(t+h,x4);for i=1:nx(i)=x(i)+h/6*(k1(i)+2*k2(i)+2*k3(i)+k4(i)); z(i,k)=x(i);endt=t+h;endh1=length(z);t2=[a:(b-a)/(h1-1):b];plot(t2,z)gtext('x1(t)')gtext('x2(t)')function h=choose(n)h=15/(n-1);t0=0;x0=[25 2]';k11=prey(t0,x0);k21=prey(t0+h/2,x0+h/2*k11);k31=prey(t0+h/2,x0+h/2*k21);k41=prey(t0+h,x0+h*k31);x1=x0+h/6*(k11+2*k21+2*k31+k41);k12=prey(t0,x0);k22=prey(t0+h/4,x0+h/4*k12);k32=prey(t0+h/4,x0+h/4*k22);k42=prey(t0+h/2,x0+h/2*k32);x2=x0+h/12*(k12+2*k22+2*k32+k42);if abs(x2-x1)<1.0e-5while abs(x2-x1)<1.0e-5h=h*2;k11=prey(t0,x0);k21=prey(t0+h/2,x0+h/2*k11);k31=prey(t0+h/2,x0+h/2*k21);k41=prey(t0+h,x0+h*k31);x1=x0+h/6*(k11+2*k21+2*k31+k41);k12=prey(t0,x0);k22=prey(t0+h/4,x0+h/4*k12);k32=prey(t0+h/4,x0+h/4*k22);k42=prey(t0+h/2,x0+h/2*k32);x2=x0+h/12*(k12+2*k22+2*k32+k42);endh=h/2;elsewhile abs(x2-x1)>=1.0e-5h=h/2;k11=prey(t0,x0);k21=prey(t0+h/2,x0+h/2*k11);k31=prey(t0+h/2,x0+h/2*k21);k41=prey(t0+h,x0+h*k31);x1=x0+h/6*(k11+2*k21+2*k31+k41);k12=prey(t0,x0);k22=prey(t0+h/4,x0+h/4*k12);k32=prey(t0+h/4,x0+h/4*k22);k42=prey(t0+h/2,x0+h/2*k32);x2=x0+h/12*(k12+2*k22+2*k32+k42);endendfunction xdot=prey(t,x)r=1;a=0.1;b=0.5;c=0.02;xdot=[r-a*x(2) 0;0 -b+c*x(1)]*x;ode23, ode45:[t,x]=ode23('prey',[0:0.1:15],[25 2]);plot(t,x)[t,x]gtext('x1(t)')gtext('x2(t)')[t,x]=ode45('prey',[0:0.1:15],[25 2]);plot(t,x)[t,x]gtext('x1(t)')gtext('x2(t)')第十周1.熟悉常用的概率分布、概率密度函数图、分位点。