数学建模Matlab实验程序
matlab数学建模实例

第四周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迭代法、松弛法求解,并比较收敛速度。
数学建模案例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实用程序百例

实例1:三角函数曲线(1)function shili01h0=figure('toolbar','none',... 'position',[19856 350 300],...'name','实例01');h1=axes('parent',h0,...'visible','off');x=-pi:0.05:pi; y=sin(x);plot(x,y);xlabel('自变量X');ylabel('函数值Y');title('SIN( )函数曲线'); grid on实例2:三角函数曲线(2)function shili02h0=figure('toolbar','none',... 'position',[200 150 450 350],...'name','实例02');x=-pi:0.05:pi;y=sin(x)+cos(x);plot(x,y,'-*r','linewidth',1); grid onxlabel('自变量X'); ylabel('函数值Y');title('三角函数');实例3:图形的叠加function shili03h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例03');x=-pi:0.05:pi; y1=sin(x); y2=cos(x); plot(x,y1,...'-*r',...x,y2,...'--og');grid on xlabel('自变量X');ylabel('函数值Y');title('三角函数');实例4:双y轴图形的绘制function shili04h0=figure('toolbar','none',... 'position',[200 150 450 250],...'name','实例04'); x=0:900;a=1000;b=0.005;y1=2*x; y2=cos(b*x);[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot'); axes(haxes(1))ylabel('semilog plot');axes(haxes(2)) ylabel('linear plot');实例5:单个轴窗口显示多个图形function shili05h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例05'); t=0:pi/10:2*pi; [x,y]=meshgrid(t); subplot(2,2,1)plot(sin(t),cos(t)) axis equal subplot(2,2,2) z=sin(x)-cos(y);plot(t,z)axis([0 2*pi -2 2]) subplot(2,2,3) h=sin(x)+cos(y); plot(t,h)axis([0 2*pi -2 2]) subplot(2,2,4) g=(sin(x).^2)-(cos(y).^2);plot(t,g)axis([0 2*pi -1 1])实例6:图形标注function shili06h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例06'); t=0:pi/10:2*pi; h=plot(t,sin(t));xlabel('t=0到2\pi','fontsize',16); ylabel('sin(t)','fontsize',16);title('\it{从0to2\pi 的正弦曲线}','fontsize',16) x=get(h,'xdata');y=get(h,'ydata'); imin=find(min(y)==y); imax=find(max(y)==y); text(x(imin),y(imin),...['\leftarrow最小值=',num2str(y(imin))],... 'fontsize',16)text(x(imax),y(imax),...['\leftarrow最大值=',num2str(y(imax))],... 'fontsize',16)实例7:条形图形function shili07h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例07');tiao1=[562 548 224 545 41 445 745 512];tiao2=[47 48 57 58 54 52 65 48]; t=0:7;bar(t,tiao1) xlabel('X轴'); ylabel('TIAO1值');h1=gca; h2=axes('position',get(h1,'position'));plot(t,tiao2,'linewidth',3)set(h2,'yaxislocation','right','color','none','xticklabel',[])实例8:区域图形function shili08h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例08');x=91:95;profits1=[88 75 84 93 77];profits2=[51 64 54 56 68];profits3=[42 54 34 25 24];profits4=[26 38 18 15 4];area(x,profits1,'facecolor',[0.5 0.9 0.6],... 'edgecolor','b',...'linewidth',3) hold onarea(x,profits2,'facecolor',[0.9 0.85 0.7],... 'edgecolor','y',...'linewidth',3) hold onarea(x,profits3,'facecolor',[0.3 0.6 0.7],... 'edgecolor','r',...'linewidth',3) hold onarea(x,profits4,'facecolor',[0.6 0.5 0.9],... 'edgecolor','m',...'linewidth',3) hold offset(gca,'xtick',[91:95])set(gca,'layer','top') gtext('\leftarrow第一季度销量')gtext('\leftarrow第二季度销量') gtext('\leftarrow第三季度销量')gtext('\leftarrow第四季度销量') xlabel('年','fontsize',16);ylabel('销售量','fontsize',16);实例9:饼图的绘制function shili09h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例09'); t=[54 21 35; 68 54 35;45 25 12;48 68 45;68 54 69];x=sum(t);h=pie(x); textobjs=findobj(h,'type','text');str1=get(textobjs,{'string'});val1=get(textobjs,{'extent'}); oldext=cat(1,val1{:}); names={'商品一:';'商品二: ';'商品三:'}; str2=strcat(names,str1);set(textobjs,{'string'},str2) val2=get(textobjs,{'extent'}); newext=cat(1,val2{:}); offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2;pos=get(textobjs,{'position'});textpos=cat(1,pos{:}); textpos(:,1)=textpos(:,1)+offset;set(textobjs,{'position'},num2cell(textpos,[3,2]))实例10:阶梯图function shili10h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例10'); a=0.01;b=0.5; t=0:10;f=exp(-a*t).*sin(b*t); stairs(t,f)hold on plot(t,f,':*') hold offglabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图'; gtext(glabel,'fontsize',16)xlabel('t=0:10','fontsize',16)axis([0 10 -1.2 1.2])实例11:枝干图function shili11h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例11'); x=0:pi/20:2*pi; y1=sin(x);y2=cos(x); h1=stem(x,y1+y2); hold onh2=plot(x,y1,'^r',x,y2,'*g'); hold offh3=[h1(1);h2];legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)') xlabel('自变量X'); ylabel('函数值Y'); title('正弦函数与余弦函数的线性组合'); 实例12:罗盘图function shili12h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例12'); winddirection=[54 24 65 84256 12 235 62125 324 34 254];windpower=[2 5 5 36 8 127 6 14 10 8];rdirection=winddirection*pi/180;[x,y]=pol2cart(rdirection,windpower); compass(x,y);desc={'风向和风力', '北京气象台', '10月1日0:00到', '10月1日12:00'};gtext(desc)实例13:轮廓图function shili13h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例13'); [th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1); [x,y]=pol2cart(th,r);z=x+i*y;f=(z.^4-1).^(0.25);contour(x,y,abs(f),20) axis equalxlabel('实部','fontsize',16);ylabel('虚部','fontsize',16);h=polar([0 2*pi],[0 1]); delete(h)hold on contour(x,y,abs(f),20)实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold on x=[];y=[]; n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点');but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo') n=n+1;disp('单击鼠标左键点取下一个点'); x(n,1)=xi;y(n,1)=yi;end t=1:n;ts=1:0.1:n;xs=spline(t,x,ts); ys=spline(t,y,ts); plot(xs,ys,'r-'); hold off实例14:交互式图形function shili14 h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14'); axis([0 10 0 10]);hold on x=[];y=[]; n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点');but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo') n=n+1;disp('单击鼠标左键点取下一个点'); x(n,1)=xi;y(n,1)=yi;end t=1:n;ts=1:0.1:n;xs=spline(t,x,ts); ys=spline(t,y,ts); plot(xs,ys,'r-'); hold off实例15:变换的傅立叶函数曲线function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15'); axis equal m=moviein(20,gcf);set(gca,'nextplot','replacechildren')h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20)for j=1:20plot(fft(eye(j+16))) set(h,'value',j)m(:,j)=getframe(gcf);end clf;axes('position',[0 0 1 1]); movie(m,30)实例16:劳伦兹非线形方程的无序活动function shili15 h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15'); axis equal m=moviein(20,gcf);set(gca,'nextplot','replacechildren')h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20)for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);end clf;axes('position',[0 0 1 1]); movie(m,30)实例17:填充图function shili17h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例17');t=(1:2:15)*pi/8; x=sin(t);y=cos(t); fill(x,y,'r') axis square offtext(0,0,'STOP',... 'color',[1 1 1],...'fontsize',50,... 'horizontalalignment','center')实例18:条形图和阶梯形图function shili18h0=figure('toolbar','none',... 'position',[200 150 450 250],...'name','实例18'); subplot(2,2,1)x=-3:0.2:3;y=exp(-x.*x); bar(x,y)title('2-D Bar Chart') subplot(2,2,2)x=-3:0.2:3;y=exp(-x.*x);bar3(x,y,'r')title('3-D Bar Chart') subplot(2,2,3)x=-3:0.2:3;y=exp(-x.*x); stairs(x,y) title('Stair Chart') subplot(2,2,4)x=-3:0.2:3;y=exp(-x.*x); barh(x,y)title('Horizontal Bar Chart')实例19:三维曲线图function shili19h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例19'); subplot(2,1,1) x=linspace(0,2*pi); y1=sin(x);y2=cos(x); y3=sin(x)+cos(x);z1=zeros(size(x)); z2=0.5*z1;z3=z1; plot3(x,y1,z1,x,y2,z2,x,y3,z3) grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴'); title('Figure1:3-D Plot') subplot(2,1,2)x=linspace(0,2*pi);y1=sin(x);y2=cos(x); y3=sin(x)+cos(x); z1=zeros(size(x)); z2=0.5*z1;z3=z1; plot3(x,z1,y1,x,z2,y2,x,z3,y3) grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴'); title('Figure2:3-D Plot')实例20:图形的隐藏属性function shili20h0=figure('toolbar','none',...'position',[200 150 450 300],...'name','实例20'); subplot(1,2,1) [x,y,z]=sphere(10); mesh(x,y,z)axis off title('Figure1:Opaque') hidden on subplot(1,2,2)[x,y,z]=sphere(10); mesh(x,y,z) axis off title('Figure2:Transparent') hidden off实例21PEAKS函数曲线function shili21h0=figure('toolbar','none',...'position',[200 100 450 450],...'name','实例21');[x,y,z]=peaks(30); subplot(2,1,1) x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2); j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j); surfc(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴'); title('Figure1:surfc函数形成的曲面')subplot(2,1,2) x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2); j=find(x>-0.6&x<0.5); z(i,j)=nan*z(i,j); surfl(x,y,z) xlabel('X轴');ylabel('Y轴');zlabel('Z轴'); title('Figure2:surfl函数形成的曲面')实例22:片状图function shili22h0=figure('toolbar','none',...'position',[200 150 550 350],...'name','实例22'); subplot(1,2,1) x=rand(1,20);y=rand(1,20); z=peaks(x,y*pi); t=delaunay(x,y)trimesh(t,x,y,z) hidden offtitle('Figure1:Triangular Surface Plot'); subplot(1,2,2)x=rand(1,20);y=rand(1,20); z=peaks(x,y*pi); t=delaunay(x,y); trisurf(t,x,y,z) title('Figure1:Triangular Surface Plot');实例23:视角的调整function shili23h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例23');x=-5:0.5:5;[x,y]=meshgrid(x); r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r;subplot(2,2,1) surf(x,y,z) xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis') title('Figure1') view(-37.5,30)subplot(2,2,2) surf(x,y,z) xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis') title('Figure2') view(-37.5+90,30)subplot(2,2,3) surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis') title('Figure3') view(-37.5,60)subplot(2,2,4) surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis') title('Figure4') view(180,0)实例24:向量场的绘制function shili24h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例24'); subplot(2,2,1) z=peaks;ribbon(z) title('Figure1')subplot(2,2,2) [x,y,z]=peaks(15); [dx,dy]=gradient(z,0.5,0.5); contour(x,y,z,10) hold on quiver(x,y,dx,dy) hold off title('Figure2') subplot(2,2,3) [x,y,z]=peaks(15);[nx,ny,nz]=surfnorm(x,y,z); surf(x,y,z)hold on quiver3(x,y,z,nx,ny,nz) hold off title('Figure3') subplot(2,2,4) x=rand(3,5);y=rand(3,5);z=rand(3,5);c=rand(3,5);fill3(x,y,z,c) grid on title('Figure4')实例25:灯光定位function shili25h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例25'); vert=[1 1 1;1 2 1;2 2 1;2 1 1;1 1 2;12 2;2 2 2;2 1 2];fac=[1 2 3 4;2 6 7 3;4 3 7 8;15 8 4;1 2 6 5;5 6 7 8];grid off sphere(36)h=findobj('type','surface'); set(h,'facelighting','phong',... 'facecolor',...'interp',...'edgecolor',[0.4 0.4 0.4],... 'backfacelighting',...'lit') hold onpatch('faces',fac,'vertices',vert,... 'facecolor','y');light('position',[1 3 2]);light('position',[-3 -1 3]); material shinyaxis vis3d off hold off 实例26:柱状图function shili26h0=figure('toolbar','none',...'position',[200 50 450 450],...'name','实例26'); subplot(2,1,1)x=[5 2 18 7 39 8 65 5 54 3 2];bar(x) xlabel('X轴');ylabel('Y轴');title('第一子图'); subplot(2,1,2) y=[5 2 18 7 39 8 65 5 54 3 2];barh(y) xlabel('X轴');ylabel('Y轴');title('第二子图');实例27:设置照明方式function shili27h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例27'); subplot(2,2,1)sphere shading flat camlight leftcamlight right lighting flat colorbaraxis off title('Figure1') subplot(2,2,2) sphereshading flat camlight left camlight right lighting gouraud colorbar axis off title('Figure2') subplot(2,2,3) sphereshading interp camlight right camlight left lighting phongcolorbar axis offtitle('Figure3') subplot(2,2,4) sphereshading flat camlight left camlight right lighting none colorbaraxis off title('Figure4')实例28:羽状图function shili28h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例28'); subplot(2,1,1) alpha=90:-10:0;r=ones(size(alpha)); m=alpha*pi/180; n=r*10; [u,v]=pol2cart(m,n);feather(u,v) title('羽状图') axis([0 20 0 10]) subplot(2,1,2) t=0:0.5:10;x=0.05+i;y=exp(-x*t); feather(y)title('复数矩阵的羽状图')实例29:立体透视(1)function shili29h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例29'); [x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2); grid onfor i=-2:0.5:2;h1=surf(linspace(-2,2,20),...linspace(-2,2,20),... zeros(20)+i);rotate(h1,[1 -1 1],30)dx=get(h1,'xdata');dy=get(h1,'ydata');dz=get(h1,'zdata'); delete(h1)slice(x,y,z,v,[-2 2],2,-2) hold on slice(x,y,z,v,dx,dy,dz) hold off axis tightview(-5,10) drawnowend实例30:立体透视(2)function shili30h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例30'); [x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2); [dx,dy,dz]=cylinder; slice(x,y,z,v,[-2 2],2,-2) for i=-2:0.2:2h=surface(dx+i,dy,dz); rotate(h,[1 0 0],90)xp=get(h,'xdata');yp=get(h,'ydata');zp=get(h,'zdata'); delete(h)hold on hs=slice(x,y,z,v,xp,yp,zp); axis tightxlim([-3 3])view(-10,35) drawnow delete(hs)hold offend实例31:表面图形function shili31h0=figure('toolbar','none',...'position',[200 150 550 250],...'name','实例31'); subplot(1,2,1) x=rand(100,1)*16-8;y=rand(100,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r;xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y]=meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y,'cubic'); mesh(X,Y,Z)axis tight hold onplot3(x,y,z,'.','Markersize',20) subplot(1,2,2)k=5;n=2^k-1;theta=pi*(-n:2:n)/n; phi=(pi/2)*(-n:2:n)'/n; X=cos(phi)*cos(theta); Y=cos(phi)*sin(theta); Z=sin(phi)*ones(size(theta));colormap([0 0 0;1 1 1]) C=hadamard(2^k); surf(X,Y,Z,C)axis square实例32:沿曲线移动的小球h0=figure('toolbar','none',...'position',[198 56 408 468],...'name','实例32');h1=axes('parent',h0,... 'position',[0.15 0.45 0.7 0.5],...'visible','on'); t=0:pi/24:4*pi; y=sin(t); plot(t,y,'b') n=length(t);h=line('color',[0 0.5 0.5],...'linestyle','.',... 'markersize',25,...'erasemode','xor'); k1=uicontrol('parent',h0,...'style','pushbutton',...'position',[80 100 50 30],...'string','开始',...'callback',[...'i=1;',...'k=1;,',...'m=0;,',...'while 1,',...'if k==0,',...'break,',...'end,',...'if k~=0,',... 'set(h,''xdata'',t(i),''ydata'',y(i)),',... 'drawnow;,',... 'i=i+1;,',...'if i>n,',...'m=m+1;,',...'i=1;,',...'end,',...'end,',...'end']); k2=uicontrol('parent',h0,...'style','pushbutton',...'position',[180 100 50 30],...'string','停止',...'callback',[...'k=0;,',...'set(e1,''string'',m),',...'p=get(h,''xdata'');,',...'q=get(h,''ydata'');,',... 'set(e2,''string'',p);,',... 'set(e3,''string'',q)']); k3=uicontrol('parent',h0,... 'style','pushbutton',...'position',[280 100 50 30],...'string','关闭',...'callback','close');e1=uicontrol('parent',h0,... 'style','edit',...'position',[60 30 60 20]); t1=uicontrol('parent',h0,...'style','text',...'string','循环次数',...'position',[60 50 60 20]); e2=uicontrol('parent',h0,...'style','edit',... 'position',[180 30 50 20]);t2=uicontrol('parent',h0,... 'style','text',...'string','终点的X坐标值',... 'position',[155 50 100 20]);e3=uicontrol('parent',h0,... 'style','edit',... 'position',[300 30 50 20]); t3=uicontrol('parent',h0,... 'style','text',...'string','终点的Y坐标值',... 'position',[275 50 100 20]);实例33:曲线转换按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例33'); x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid on huidiao=[...'if i==1,',...'i=0;,',...'y=cos(x);,',...'delete(h),',... 'set(hm,''string'',''正弦函数''),',...'h=plot(x,y);,',...'grid on,',...'else if i==0,',...'i=1;,',...'y=sin(x);,',... 'set(hm,''string'',''余弦函数''),',...'delete(h),',...'h=plot(x,y);,',... 'grid on,',...'end,',... 'end'];hm=uicontrol(gcf,'style','pushbutton',... 'string','余弦函数',... 'callback',huidiao);i=1;set(hm,'position',[250 20 60 20]);set(gca,'position',[0.2 0.2 0.6 0.6]) title('按钮的使用')hold on实例34:栅格控制按钮h0=figure('toolbar','none',... 'position',[200 150 450 250],...'name','实例34'); x=0:0.5:2*pi;y=sin(x);plot(x,y)huidiao1=[...'set(h_toggle2,''value'',0),',... 'grid on,',...];huidiao2=[...'set(h_toggle1,''value'',0),',... 'grid off,',...];h_toggle1=uicontrol(gcf,'style','togglebutton',... 'string','grid on',... 'value',0,...'position',[20 45 50 20],... 'callback',huidiao1);h_toggle2=uicontrol(gcf,'style','togglebutton',... 'string','grid off',... 'value',0,...'position',[20 20 50 20],... 'callback',huidiao2);set(gca,'position',[0.2 0.2 0.6 0.6]) title('开关按钮的使用')实例35:编辑框的使用h0=figure('toolbar','none',...'position',[200 150 350 250],...'name','实例35'); f='Please input the letter'; huidiao1=[...'g=upper(f);,',... 'set(h2_edit,''string'',g),',...];huidiao2=[...'g=lower(f);,',... 'set(h2_edit,''string'',g),',...];h1_edit=uicontrol(gcf,'style','edit',... 'position',[100 200 100 50],...'HorizontalAlignment','left',... 'string','Please input theletter',... 'callback','f=get(h1_edit,''string'');',...'background','w',...'max',5,...'min',1); h2_edit=uicontrol(gcf,'style','edit',...'HorizontalAlignment','left',... 'position',[100 100 100 50],...'background','w',...'max',5,...'min',1); h1_button=uicontrol(gcf,'style','pushbutton',...'string','小写变大写',...'position',[100 45 100 20],...'callback',huidiao1);h2_button=uicontrol(gcf,'style','pushbutton',...'string','大写变小写',...'position',[100 20 100 20],...'callback',huidiao2);实例36:弹出式菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例36'); x=0:0.5:2*pi; y=sin(x);h=plot(x,y); grid onhm=uicontrol(gcf,'style','popupmenu',... 'string',...'sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x))',... 'position',[250 20 50 20]);set(hm,'value',1) huidiao=[...'v=get(hm,''value'');,',... 'switch v,',... 'case 1,',...'delete(h),',...'y=sin(x);,',...'h=plot(x,y);,',... 'grid on,',...'case 2,',...'delete(h),',...'y=cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 3,',...'delete(h),',...'y=sin(x)+cos(x);,',...'h=plot(x,y);,',... 'grid on,',...'case 4,',...'delete(h),',... 'y=exp(-sin(x));,',...'h=plot(x,y);,',... 'grid on,',... 'end'];set(hm,'callback',huidiao) set(gca,'position',[0.2 0.2 0.6 0.6]) title('弹出式菜单的使用')hold on实例37:滑标的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例37'); [x,y]=meshgrid(-8:0.5:8); r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r;h0=mesh(x,y,z);h1=axes('position',... [0.2 0.2 0.5 0.5],...'visible','off'); htext=uicontrol(gcf,...'units','points',...'position',[20 30 45 15],...'string','brightness',...'style','text'); hslider=uicontrol(gcf,...'units','points',...'position',[10 10 300 15],...'min',-1,...'max',1,...'style','slider',... 'callback',...'brighten(get(hslider,''value''))');实例38:多选菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例38'); [x,y]=meshgrid(-8:0.5:8); r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r;h0=mesh(x,y,z); hlist=uicontrol(gcf,'style','listbox',...'string','default|spring|summer|autumn|winter',... 'max',5,...'min',1,...'position',[20 20 80 100],...'callback',[... 'k=get(hlist,''value'');,',... 'switch k,',...'case 1,',...'colormap default,',...'case 2,',...'colormap spring,',...'case 3,',...'colormap summer,',...'case 4,',...'colormap autumn,',...'case 5,',...'colormap winter,',...'end']);实例39:菜单控制的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例39'); x=0:0.5:2*pi;y=cos(x);h=plot(x,y); grid onset(gcf,'toolbar','none') hm=uimenu('label','example'); huidiao1=[...'set(hm_gridon,''checked'',''on''),',...'set(hm_gridoff,''checked'',''off''),',... 'grid on'];huidiao2=[...'set(hm_gridoff,''checked'',''on''),',...'set(hm_gridon,''checked'',''off''),',... 'grid off'];hm_gridon=uimenu(hm,'label','grid on',... 'checked','on',... 'callback',huidiao1); hm_gridoff=uimenu(hm,'label','grid off',... 'checked','off',... 'callback',huidiao2);实例40:UIMENU菜单的应用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例40');h1=uimenu(gcf,'label','函数');h11=uimenu(h1,'label','轮廓图',... 'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',...'[x,y,z]=peaks;,',...'contour3(x,y,z,30)']);h12=uimenu(h1,'label','高斯分布',... 'callback',[...'set(h31,''checked'',''on''),',...'set(h32,''checked'',''off''),',... 'mesh(peaks);,',...'axis tight']); h13=uimenu(h1,'label','Sinc函数',...'callback',[... 'set(h31,''checked'',''on''),',...。
matlab在数学建模中的应用——第三章程序代码2

matlab在数学建模中的应用——第三章程序代码2第一篇:matlab在数学建模中的应用——第三章程序代码2 clearsyms a b;c=[a b]';A=[174179 183 189 207 234 220.5 256270 285];B=cumsum(A);% 原始数据累加n=length(A);for i=1:(n-1)C(i)=(B(i)+B(i+1))/2;% 生成累加矩阵end% 计算待定参数的值D=A;D(1)=[];D=D';E=[-C;ones(1,n-1)];c=inv(E*E')*E*D;c=c';a=c(1);b=c(2);% 预测后续数据F=[];F(1)=A(1);for i=2:(n+10)F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;endG=[];G(1)=A(1);for i=2:(n+10)G(i)=F(i)-F(i-1);%得到预测出来的数据endt1=1995:2004;t2=1995:2014;G, a, b % 输出预测值,发展系数和灰色作用量plot(t1,A,'o',t2,G)%原始数据与预测数据的比较第二篇:matlab在数学建模中的应用——第三章程序代码1 clearsyms a b;c=[a b]';A=[89677,99215,109655,120333,135823,159878,182321,209 407,246619,300670];B=cumsum(A);% 原始数据累加n=length(A);for i=1:(n-1)C(i)=(B(i)+B(i+1))/2;% 生成累加矩阵end% 计算待定参数的值D=A;D(1)=[];D=D';E=[-C;ones(1,n-1)];c=inv(E*E')*E*D;c=c';a=c(1);b=c(2);% 预测后续数据F=[];F(1)=A(1);for i=2:(n+10)F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;endG=[];G(1)=A(1);for i=2:(n+10)G(i)=F(i)-F(i-1);%得到预测出来的数据endt1=1999:2008;t2=1999:2018;Gplot(t1,A,'o',t2,G)%原始数据与预测数据的比较xlabel('年份')ylabel('利润')第三篇:matlab在数学建模中的应用——第一章程序代码clearclc% 读入人口数据(1971-2000年)Y=[338************8345******345093452***345***93452**** **]% 读入时间变量数据(t=年份-1970)T=[*********2627282930]% 线性化处理for t = 1:30,x(t)=exp(-t);y(t)=1/Y(t);end% 计算,并输出回归系数Bc=zeros(30,1)+1;X=[c,x'];B=inv(X'*X)*X'*y'for i=1:30,% 计算回归拟合值z(i)=B(1,1)+B(2,1)*x(i);% 计算离差s(i)=y(i)-sum(y)/30;% 计算误差w(i)=z(i)-y(i);end% 计算离差平方和SS=s*s';% 回归误差平方和QQ=w*w';% 计算回归平方和UU=S-Q;% 计算,并输出F检验值F=28*U/Q% 计算非线性回归模型的拟合值for j=1:30,Y(j)=1/(B(1,1)+B(2,1)*exp(-j));end% 输出非线性回归模型的拟合曲线(Logisic曲线)plot(T,Y)第四篇:2)线性代数在数学建模中的应用例举8015985.docAct3 总复习【Arrangement】1)模拟题2)线性代数在数学建模中的应用例举3)线性代数在考研中的地位和重要性【Content】模拟题一、填空题(每题4分,共20分):1、n阶方阵A的行列式,则行列式。
数学建模实验三:Matlab神经网络以及应用于汽油辛烷值预测

实验三Matlab神经网络以及应用于汽油辛烷值预测一、实验目的1. 掌握MATLAB创建BP神经网络并应用于拟合非线性函数2. 掌握MATLAB创建REF神经网络并应用于拟合非线性函数3. 掌握MATLAB创建BP神经网络和REF神经网络解决实际问题4. 了解MATLAB神经网络并行运算二、实验原理2.1 BP神经网络2.1.1 BP神经网络概述BP神经网络Rumelhard和McClelland于1986年提出。
从结构上将,它是一种典型的多层前向型神经网络,具有一个输入层、一个或多个隐含层和一个输出层。
层与层之间采用权连接的方式,同一层的神经元之间不存在相互连接。
理论上已经证明,具有一个隐含层的三层网络可以逼近任意非线性函数。
隐含层中的神经元多采用S型传递函数,输出层的神经元多采用线性传递函数。
图1所示为一个典型的BP神经网络。
该网络具有一个隐含层,输入层神经元数据为R,隐含层神经元数目为S1,输出层神经元数据为S2,隐含层采用S型传递函数tansig,输出层传递函数为purelin。
图1含一个隐含层的BP网络结构2.1.2 BP神经网络学习规则BP网络是一种多层前馈神经网络,其神经元的传递函数为S型函数,因此输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。
由于其权值的调整是利用实际输出与期望输出之差,对网络的各层连接权由后向前逐层进行校正的计算方法,故而称为反向传播(Back-Propogation)学习算法,简称为BP算法。
BP算法主要是利用输入、输出样本集进行相应训练,使网络达到给定的输入输出映射函数关系。
算法常分为两个阶段:第一阶段(正向计算过程)由样本选取信息从输入层经隐含层逐层计算各单元的输出值;第二阶段(误差反向传播过程)由输出层计算误差并逐层向前算出隐含层各单元的误差,并以此修正前一层权值。
BP网络的学习过程主要由以下四部分组成:1)输入样本顺传播输入样本传播也就是样本由输入层经中间层向输出层传播计算。
数学建模2020c题matlab源程序

数学建模2020c题matlab源程序摘要:1.介绍数学建模2020c 题的背景和意义2.概述Matlab 在解决该题中的应用3.分析题目要求的解决方案4.提供Matlab 源程序的实现方法5.总结Matlab 在解决该题中的优势和意义正文:一、介绍数学建模2020c 题的背景和意义数学建模2020c 题是一道具有挑战性的数学问题,它涉及到许多数学领域的知识,如微积分、线性代数、概率论等。
这道题目旨在考查学生运用数学知识解决实际问题的能力,通过构建数学模型,找到问题的解决方案。
在解决这道题目的过程中,Matlab 作为一种强大的数学软件,可以提供很大的帮助。
二、概述Matlab 在解决该题中的应用Matlab 是一种功能强大的数学软件,它可以用于解决各种数学问题,包括数学建模问题。
在解决数学建模2020c 题时,Matlab 可以帮助学生进行数据分析、绘制图像、求解方程等。
通过使用Matlab,学生可以更轻松地构建数学模型,找到问题的解决方案。
三、分析题目要求的解决方案为了解决数学建模2020c 题,首先需要对题目进行仔细的分析。
题目要求我们找到一个数学模型,可以描述问题的解决方案。
通过分析题目,我们可以发现,这道题目需要我们运用微积分、线性代数、概率论等知识,构建一个数学模型,求解方程,找到问题的解决方案。
四、提供Matlab 源程序的实现方法在解决数学建模2020c 题时,Matlab 可以提供很大的帮助。
通过使用Matlab,我们可以轻松地构建数学模型,求解方程,找到问题的解决方案。
下面是一个简单的Matlab 源程序,可以实现题目要求的解决方案。
```Matlab% 初始化参数a = 1;b = 2;c = 3;x0 = 0;y0 = 0;t0 = 0;% 求解微分方程df = @(x, t) [a * x + b * y; c * x - a * y];df_init = [x0; y0];[x, y] = ode45(@df, [0, t0], df_init);% 绘制图像figure;plot3(x, y, t);xlabel("x");ylabel("y");zlabel("t");title("Solution of the problem");```五、总结Matlab 在解决该题中的优势和意义通过使用Matlab,我们可以更轻松地解决数学建模2020c 题。
数学建模2020c题matlab源程序
数学建模2020c题是一项涉及到数学、计算机等多个学科知识的综合性竞赛题目。
在这次比赛中,参赛者需要应用数学建模方法,解决实际问题,并编写相应的程序进行模拟和计算。
其中,matlab作为一种强大的数学软件工具,被广泛应用于数学建模的程序编写中。
一、问题分析在数学建模2020c题中,通常会给出一个实际问题,同时要求参赛者利用数学建模的方法进行分析和求解。
在编写matlab源程序时,需要遵循以下几个步骤:1. 问题理解与建模: 首先要对问题进行深入理解,明确问题的要求和限制条件,然后进行数学建模,将实际问题转化为数学模型。
2. 程序框架设计: 根据数学模型的建立,设计matlab程序的框架结构,确定程序的主要功能和模块划分。
3. 算法设计与实现: 针对数学模型所需的运算和计算过程,设计相应的算法,并在matlab中进行实现。
4. 程序测试与优化: 编写完程序后,需要进行充分的测试,验证程序的正确性和稳定性,并对程序进行优化,提高程序的运行效率。
二、matlab源程序编写在数学建模竞赛中,matlab源程序往往会涉及到各种数学方法和算法,如数值计算、优化算法、模拟仿真等。
下面以一个示例问题为例,介绍matlab源程序的编写过程。
示例题目:某市的交通拥堵问题问题描述:某市的交通拥堵问题日益严重,为了解决交通拥堵问题并提高交通效率,需要对该市的交通流进行合理规划和控制。
假设该市的道路网络和车辆流量情况已知,请设计一个算法,模拟和优化该市的交通流,并给出相应的交通规划建议。
1. 问题理解与建模根据问题描述,需要对该市的道路网络和车辆流量进行建模。
首先将道路网络抽象为一个图结构,节点表示道路交叉口,边表示道路连通关系;然后对车辆的流动进行建模,考虑车辆的速度、车流密度等因素。
2. 程序框架设计根据问题的数学模型,设计matlab程序的框架结构。
程序主要包括道路网络的表示与初始化、车辆流动模拟与优化算法、交通规划建议输出等模块。
数学建模与数学实验第2讲 MATLAB入门
MATLAB入门
一、变 量 与 函 数 二、数 三、 矩 组 阵
四、 MATLAB编程 五、 实 验 作 业
一、变 量 与 函 数
1. 变量
MATLAB中变量的命名规则是:
(1)变量名必须是不含空格的单个词;
(2)变量名区分大小写;
(3)变量名最多不超过19个字符;
(4)变量名必须以字母打头,之后可以是
a./b= [a1/b1,a2/b2,…,an/bn] a.\b=[b1/a1,b2/a2,…,bn/an] a.^b=[a1^b1,a2^b2,…,an^bn] MATLAB(shuzu4)
返回
三、 矩
阵
1. 矩阵的建立
逗号或空格用于分隔某一行的元素,分号用于区分不
同的行. 除了分号,在输入矩阵时,按Enter键也表示开始
果时,返回空矩阵,空矩阵的大小为零
d=eye(m,n) 产生一个m行n列的单位矩阵
MATLAB(matrix1)
2. 矩阵中元素的操作
(1)矩阵A的第r行:A(r,:) (2)矩阵A的第r列:A(:,r) (3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:) (4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2) (5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1: i1,:) (6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:,j2:-1: j1) (7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[] (8)删除A的第j1~j2列,构成新矩阵:A(:,j1:j2)=[] (9)将矩阵A和B拼接成新矩阵:[A B];[A;B] MATLAB(matrix2)
M文件建立方法:1. 在MATLAB中,点:File→New → M-file 2. 在编辑窗口中输入程序内容 3. 点File → Save,存盘,M文件名必须 与函数名一致.
线性规划问题求解----数学建模实验报告
由题目所给的数据可建立如下的线性规划模型:
Min z(1.250.25)(������1 ������2 )(20.35)������8 (2.80.5)������9 10������6 )
084 实验报告
1、 实验目的:
(1)学会用 matlab 软件解决线性规划问题的最优值求解问题。 (2) 学会将实际问题归结为线性规划问题用 MATLAB 软件建立恰 当的数学模型来求解。 (3)学会用最小二乘法进行数据拟合。 (4)学会用 MATLAB 提供的拟合方法解决实际问题。
2、 实验要求:
(1)按照正确格式用 MATLAB 软件解决课本第 9 页 1.1、1.3, 第 100 页 5.1、5.3 这几个问题,完成实验内容。 (2)写出相应的 MATLAB 程序。 (3)给出实验结果。 (4)对实验结果进行分析讨论。 (5)写出相应的实验报告。
3、 实验步骤:
(1)、对于习题 1.1: a.将该线性规划问题首先化成 MATLAB 标准型 b.用 MATLAB 软件编写正确求解程序:程序如下:
(4)、对于习题5.3:用MATLAB中最小二乘法求拟合表中的数据。 程序如下:x=[1:8]';
y=[15.3,20.5,27.4,36.6,49.1,65.6,87.87,117.6]'; xishu=[ones(8,1),x];%构造系数矩阵 cs=xishu\log(y);%线性最小二乘法拟合参数 cs(1)=exp(cs(1));%把lna变换成a
对应整数规划的最优解为 x11200,x2230,x30,x4859,x5571,x60,x7500,x8 500,x9324, 最优值为 z1146.414 元。
matlab数学建模方法与实践
matlab数学建模方法与实践Matlab是一种功能强大的数学软件,被广泛应用于数学建模领域。
在数学建模过程中,Matlab提供了一套完整的工具和函数,帮助研究人员进行模型建立、模型求解和模型分析。
以下是关于Matlab数学建模方法与实践的详细内容。
首先,Matlab数学建模的第一步是建立数学模型。
数学模型是对实际问题的抽象和归纳,并用数学语言描述出来。
Matlab提供了丰富的数学建模函数和工具箱,可以帮助研究人员快速建立各种数学模型。
例如,可以使用符号计算功能进行代数方程的建立,使用数值方法求解微分方程等。
其次,Matlab数学建模的第二步是进行模型求解。
Matlab可以根据建立的数学模型,使用不同的求解方法进行模型求解。
例如,可以使用线性代数方法求解线性方程组,使用优化方法求解最优化问题,使用数值积分方法求解微分方程等。
Matlab中提供了丰富的数值计算和优化函数,可以很方便地进行模型求解。
然后,Matlab数学建模的第三步是进行模型分析和评估。
模型建立和求解后,需要对模型结果进行分析和评估。
Matlab提供了绘图、统计分析、数据可视化等功能,可以对模型结果进行可视化和统计分析。
例如,可以使用绘图函数将模型结果绘制成曲线或图表,以便更直观地理解模型结果;可以使用统计分析函数对模型结果进行相关性分析或预测评估等。
另外,Matlab还具备模型仿真和验证的能力。
在建立数学模型之后,可以使用Matlab中的仿真工具对模型进行验证和测试。
仿真可以模拟实际系统的行为,并进行各种场景测试和参数敏感性分析,从而评估模型的可靠性和准确性。
Matlab提供了Simulink工具,可以方便地进行系统级仿真和模型验证。
此外,Matlab还支持与其他工具的集成和数据交换,使得数学建模过程更加灵活和高效。
例如,可以将Matlab与其他CAD、CAE软件进行集成,进行多领域联合仿真;可以将Matlab与数据库进行数据交换,实现数据驱动的数学建模。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab实验作业及答案作业1:建立函数M文件2.建立下面函数的M文件,并求f(x)值.(1)f(x)=log(x1+x22),x=(1,2)(2)f(x)=sin(x2)+exp(2x3),x=2(1)function f = fun1(x1,x2)f = log(x1 +x2^2);end(2)function f = fun2( x)f = sin(x^2) + exp(2*x^3);end3.试编写同时求sin(x),cos(x),exp(x),abs(x)的M函数文件.function f = fun3(x)f = [sin(x) cos(x) exp(x) abs(x)];end4.建立符号函数的M文件:当输入的变量为负数时,返回值-1;当输入的变量为正数时,返回值1;而输入0时,返回值0.function f = fun4(x)if x>0f = 1;else if x == 0f = 0;elsef = -1;endendend5.建立函数 的M 文件。
function f = fun5(x)if x>0f = exp(x-1);elsef = x^2;endend6.通过帮助系统查询roots,poly,polyval,poly2str 的用法,用这些命令解下面的问题:已知一多项式的零点为{-1,1,2,3},写出该多项式,并且计算多项式在点x=2.5处的值。
root = [-1 1 2 3];p = poly(root);x = 2.5;a = polyval(p,x);eig(a)计算多项式y=x 3-3x+2的零点P = [1 0 -3 2];a = company(p); eig(a)7.查询sum,length 的用法,建立一个求向量的平均值的M 文件a = [1 2 3 4];b = sum(a);⎪⎩⎪⎨⎧≤>=-0,0,21x x x e f xc = length(a);d = b/c;eig(d)8.查询input,disp 的用法,建立M 文件:输入x,y 的值将其互换后输出x = input('x=');y = input('y=');disp ([x,y]);t=x;x=y;y=t;disp ([x,y]);作业题2:MATLAB 矩阵的处理1. 创建矩阵A = [1 2 -1 3 5;1 -2 9 0 -6;-3 3 -4 7 1;9 8 0 7 6];disp(A);2.取A 的1,2行与2,3列的交叉元素作子矩阵A1.A([1,2],[2,3])3.取A 的1,3行,然后按行形成矩阵A2A2 = A([1,3],:);4.逆序提取A 的1,2,3行,形成列矩阵A3.A3 = [A(3,:) A(2,:) A(1,:)]’;(“’”为转置符号)5.取A2的绝对值大于3的元素构成向量A4.A4 = find(A>3);6.求出A 的最大值a 及其所处的位置. 12135129063347198076A -⎛⎫ ⎪-- ⎪= ⎪-- ⎪⎝⎭a = max(max(A));[row col v] = find(a);disp([row col v]);7、设用三种方法(克拉姆法则、矩阵的除法、逆矩阵)解方程组AX=bA = [10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];b = [32;23;33;31];逆矩阵法:x = inv(A)*b;disp(x);矩阵的除法x =A\b;克拉姆法则for n=1:4B = A;B(:,n) = b;x(n) = det(B)/det(A);enddisp(x);作业题3:Matlab 语法控制结构的使用(1) 用起泡法对10个数由小到大排序.即将相邻两个数比较,将小的调到前头.a = [0 9 7 8 6 5 4 3 2 1];1078775658610975910A ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭32233331b ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭n = length(a);for i = 1:nfor j = 1:n-iif a(j)>a(j+1)t = a(j);a(j) = a(j+1);a(j+1) = t;endendenddisp(a)(2) 取任意数组,如[8 9 11 -9 0 2 -82 42 3 5]等的绝对值大于数3的元素构成向量(编程实现).a = [8 9 11 -9 0 2 -82 42 3 5];a = abs(a);b = find(a>3);a1 = a(b);disp(a1);(3)一球从h (比如100米)高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有多高?h = 100;for i = 1:10h = h/2;enddisp(h) (4)有一函数 写一程序,输入自变量的值,输出函数值.function fun34 = f(x,y)x = input('x=');y = input('y=');if x < 2f = x+1;elseif x >= 2 &&x <= 8f = 3*x;elseif x>8 && x<=20f = 4*x -5;elseif x>201,23,28(,)45,820cos()sin(),20x x x x f x y x x x x x +<⎧⎪≤≤⎪=⎨-<≤⎪⎪+>⎩f = cos(x)+sin(x);enddisp(f);end(5)从1到多少的自然数的和小于或等于1000,此时的和是多少?sum = 0;n = 1;while sum <= 1000sum = sum+n;n = n+1;enddisp(n - 1);disp(sum -n );(6) 已知 当m=100时,求y 的值。
m = 100;sum = 0;a = 1;for n = 1:100a = a/2.0;sum = sum + a;enddisp(sum);(7)求[100,200]之间第一个能被13整除的整数。
for i = 100:200a = rem(i,13);if(a == 0)disp(i)breakendend(8)编程求出Fibonacci 数列中第一个大于10000的元素及序号。
f(1) = 1;f(2) = 2;n = 2; while f(n) <= 100001 12 = = ∑ mn n yf(n) = f(n-1)+f(n-2);enddisp(f(n));disp(n);9题不会(10) 已知 n = 1;y = 1;while y <= 1.5n = n+1;y = y + 1/(n^2);enddisp(y);disp(n)(8)定义函数文件f0:function f0(n)a(1)=1;a(2)=1;i=2;while a(i)<= na(i+1)=a(i-1)+a(i);i=i+1;endi,a(i)调用时在命令窗口输入:f0(10000)答案:function f = f0(n)a(1)=1;22221111...123y n=++++i=2;while a(i)<= na(i+1)=a(i-1)+a(i);i=i+1;enddisp(a(i));disp(i);作业题4:matlabt函数图形的绘制(1)x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)(2)t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);(3)x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off(4)x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('x from 0 to 2{\pi}');%加图形标题xlabel('Variable X');ylabel('Variable Y');text(0.8,1.5,'y1=2e^{-0.5x}');text(2.5,1.1,'y2=cos(4{\pi}x)');legend('y1',' y2')(5)t=0:pi/50:2*pi;p=sin(t).*cos(t);polar(t,p,'-*');(6)[x,y]=meshgrid(0:0.25:4*pi);z=sin(x+sin(y))-x/10;mesh(x,y,z);axis([0 4*pi 0 4*pi -2.5 1]);(7) [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);subplot(2,2,1);mesh(x,y,z);(8)x = -pi:pi/100:pi;y=(sin(1./x)).*x;plot(x,y)(9) t=0:pi/100:6*pi;x = 3*(t-sin(t));plot(t,x)hold ony=3*(1-cos(t));plot(t,y);hold off。