收藏 分销(赏)

MATLAB在数学建模中的应用.ppt

上传人:a199****6536 文档编号:10239418 上传时间:2025-04-29 格式:PPT 页数:131 大小:2.41MB
下载 相关 举报
MATLAB在数学建模中的应用.ppt_第1页
第1页 / 共131页
MATLAB在数学建模中的应用.ppt_第2页
第2页 / 共131页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MATLAB,软件及其在,数学建模中的应用,1,求解结果,发现规律,模型验证,讨论分析,计算在数学建模中的作用,2,数学建模中的计算,问题的分析,修正模型,粗假设,修正算法,结果分析,讨论推广,修正假设,粗模型,粗算法,发现问题,发现规律,模型验证,3,主要内容,Matlab,软件简介,数学建模,Matlab,算法,4,MATLAB,简介,MATLAB,是,MATrix LABoratory,的缩写,是由美国,MathWorks,公司开发的工程计算软件,迄今,MATLAB,已推出了,6.5,版,.1984,年,MathWorks,公司正式将,MATLAB,推向市场,从这时起,,MATLAB,的内核采用,C,语言编写,而且除原有的数值计算能力外,还新增了数据图视功能,.,在国际学术界,,MATLAB,已经被确认为准确、可靠的科学计算标准软件,.,在设计研究单位和工业部门,,MATLAB,被认作进行高效研究、开发的首选软件工具,.,5,MATLAB,的发展,1984,年,,MATLAB,第,1,版,(DOS,版,)1992,年,,MATLAB4.0,版,1994,年,,MATLAB 4.2,版,1997,年,,MATLAB 5.0,版,1999,年,,MATLAB 5.3,版,2000,年,,MATLAB 6.0,版,2001,年,,MATLAB 6.1,版,2002,年,,MATLAB 6.5,版,2004,年,,MATLAB 7.0,版,6,MATLAB,的功能,MATLAB,产品组是从支持概念设计、算法开发、建模仿真,,到实时实现的集成环境,可用来进行:,数据分析,数值与符号计算,工程与科学绘图,控制系统设计,数字图像信号处理,建模、仿真、原型开发,财务工程、应用开发、图形用户界面设计,功能强大,7,MATLAB,语言特点,编程效率高,允许用数学的语言来编写程序,用户使用方便,把程序的编辑、编译、连接和执行融为一体,高效方便的矩阵和数组运算,语句简单,内涵丰富,扩充能力强,交互性,开放性,方便的绘图功能,该软件由,c,语言编写,移植性好,语言简洁,8,学习该软件的必要性:,目前,,MATLAB,软件不仅走入企业、公司和科研机构,而且在高等院校也是从大学生到博士生都必须掌握的一项基本技能,是必不可少的计算工具,。,MATLAB,功能:,数值计算、符号运算和图形处理。,9,学习它的意义:,随着计算机科学和计算软件的发展,数学系学生必须掌握一门好的计算软件。这是我们就业、继续身造或做科研工作所要用到的。是当代大学生必备的一项技能。,10,其它计算软件:,MATHEMATIC,(数学分析问题的计算);,LINGO,(规划问题的计算)。可以说一个人掌握了一门计算软件,再学习其它计算软件就很容易。,11,MATLAB,的环境,菜单项;,工具栏;,【Command Window】,命令窗口;,【Launch Pad】,分类帮助窗口;,【Workspace】,工作区窗口;,【Command History】,指令历史记录窗口;,【Current Directory】,当前目录选择窗口;,12,MATLAB,操作窗口,双击桌面快捷键,启动软件。,接受命令的窗口,13,MATLAB,在,微积分,中的应用,1,、求函数值,例,1,在命令窗口中键入表达式,并求 时的函数值。,x=2,y=4,z=x2+exp(x+y)-y*log(x)-3,x=2,y=4,z=401.6562,命令窗口显示结果:,14,例,2,用循环语句编写,M,文件计算,e,x,的值,其中,x,n,为输入,变量,,e,x,的近似表达式为,function,y=e(x,n),y=1;s=1;,for,i=1:n,s=s*i;,y=y+xi/s;,end,y,y=e(1,100),ans=,y,y=,2.7183,调用函数,M,文件,15,MATLAB,在,微积分,中的应用,2,、求极限,例,3,求极限,syms n,;,limit,(sqrt(n+sqrt(n)-sqrt(n),n,inf),ans=1/2,LIMIT Limit of an expression.,LIMIT(F,x,a)takes the limit of the symbolic expression F as x-a.,LIMIT(F,x,a,right)or LIMIT(F,x,a,left)specify the direction of a one-sided limit.,定义符号变量,16,MATLAB,在,微积分,中的应用,3,、求导数,例,4,设,,求,syms,x,y=10 x+x10+log(x),y=,x10+10 x+log(x),diff,(y),ans=,10*x9+10 x*log(10)+1/x,定义,X,为符号变量,求,Difference,:差分,Differential,:微分的,17,例,5,设,求,syms x;,y=log(1+x);,a=diff(y,x,2),a=,-1/(1+x)2,x=1;,eval,(a),ans=,-0.2500,求,求,将符号表达式,转换成数值表达式,18,例,6,设,,求,syms x y;,z=exp(2*x)*(x+y2+2*y);,a=,diff(z,x),b=,diff(z,y),c=,diff(z,x,2),d=,diff(z,y,2),e=,diff(a,y),19,a=2*exp(2*x)*(x+y2+2*y)+exp(2*x),b=exp(2*x)*(2*y+2),c=4*exp(2*x)*(x+y2+2*y)+4*exp(2*x),d=2*exp(2*x)e=2*exp(2*x)*(2*y+2),20,MATLAB,在,微积分,中的应用,4,、求极值和零点,例,7,已知,,求,(,1,)函数的零点;(,2,)函数在,-1,,,2,上的最小值,fzero,(3*x5-x4+2*x3+x2+3,0),ans=-0.8952,起始点,函数,命令函数,fminbnd,(3*x5-x4+2*x3+x2+3,-1,2),ans=-1.1791e-005,21,MATLAB,在,微积分,中的应用,4,、求极值和零点,,求,例,8,已知,函数在点(,1,,,-1,,,0,)附近的最小值,X,FVAL=,FMINSEARCH,(x(1)2+2.5*sin(x(2)-,x(3)*x(1)*x(2)2,1-1 0),X=0.0010 -1.5708 0.0008,FVAL=-2.5000,22,MATLAB,在,微积分,中的应用,5,、求积分,例,9,求不定积分,int,(cos(2*x)*cos(3*x),ans=1/2*sin(x)+1/10*sin(5*x),例,10,求定积分,Integrate,:积分,eval,(,int,(x2*log(x),1,exp(1),ans=4.5746,x=1:0.01:exp(1);,y=x.2.*log(x);,trapz,(x,y),ans=4.5137,23,例,10,求定积分,int,(exp(-x2/2),0,1),ans=,1/2*,erf,(1/2*2(1/2)*2(1/2)*pi(1/2),x=0:0.01:1;,y=exp(-x,.,2/2);,trapz,(x,y),ans=0.8556,y=exp(-x,.,2/2);,quadl,(y,0,1),ans=0.8556,变步长,数值积分,梯形法数值积分,24,MATLAB,在,微积分,中的应用,5,、求积分,例,11,求二重积分,syms x y;,f=y2/x2;,int(int(f,x,1/2,2),y,1,2),ans=7/2,符号积分,f=(y.2)./(x.2);,dblquad(f,1/2,2,1,2),ans=3.5000,数值计算,25,MATLAB,在,微积分,中的应用,6,、解微分方程,例,12,计算初值问题:,dsolve,(,D,y=x+y,y(0)=1,x),ans=-x-1+2*exp(x),一定要大写,26,MATLAB,在,微积分,中的应用,7,、级数问题,例,13,求函数 的泰勒展开式,并计算该,函数在,x=3.42,时的近似值。,syms x;,taylor,(sin(x)/x,x,10),ans=,1-1/6*x2+1/120*x4-1/5040*x6+1/362880*x8,x=3.42;,eval,(ans),ans=-0.0753,27,MATLAB,在,线性代数,中的应用,1,、矩阵的基本运算,例,1,已知,a=4-2 2;-3 0 5;1 5 3;,b=1 3 4;-2 0-3;2-1 1;,a*b,12 10 24,7 -14 -7,-3 0 -8,ans=,=AB,28,MATLAB,在,线性代数,中的应用,1,、矩阵的基本运算,例,1,已知,inv,(a),ans=,0.1582 -0.1013 0.0633,-0.0886 -0.0633 0.1646,0.0949 0.1392 0.0380,29,MATLAB,在,线性代数,中的应用,1,、矩阵的基本运算,例,1,已知,rank,(a),ans=,3,30,MATLAB,在,线性代数,中的应用,1,、矩阵的基本运算,例,1,已知,a/b,ans=,0 0 2.0000,-2.7143 -8.0000 -8.1429,2.4286 3.0000 2.2857,31,MATLAB,在,线性代数,中的应用,1,、矩阵的基本运算,例,1,已知,ab,ans=,0.4873 0.4114 1.0000,0.3671 -0.4304 0,-0.1076 0.2468 0,32,2,、解线性方程组,a=1-1 4-2;1-1-1 2;3 1 7-2;1-3-12 6;,rref,(a),ans=,1 0 0 0,0 1 0 0,0 0 1 0,0 0 0 1,将矩阵,A,化为最简阶梯形,R,(,A,),=4=n,;,所以方程组只有零解。,RREF,R,educed,r,ow,e,chelon,f,orm,33,2,、解线性方程组,34,求齐次方程组,的基础解系,a=2 3 1;1-2 4;3 8-2;4-1 9;,b=4;-5;13;-6;,c=null(a,r),c=,-2,1,1,求非齐次方程组,的一个特解,l u=lu(a);,x0=u(lb),x0=,-3124/135,3529/270,2989/270,所以方程组的一般解为,35,3,、将矩阵对角化,a=-1 2 0;-2 3 0;3 0 2;,v,d=eig(a),v=0 379/1257 379/1257,0 379/1257 379/1257,1 -379/419 -379/419,d=2 0 0,0 1 0,0 0 1,A,的特征值为,2,,,1,,,1,36,4,、用正交变换化二次型为标准形,a=1 1 1 1,1 1 1 1,1 1 1 1,1 1 1 1;,format,u t=,schur,(a),u=0.0846 0.4928 0.7071 0.5000,0.0846 0.4928 -0.7071 0.5000,-0.7815 -0.3732 0 0.5000,0.6124 -0.6124 0 0.5000,t=-0.0000 0 0 0,0 -0.0000 0 0,0 0 0 0,0 0 0 4.0000,37,a=1 1 1 1,;,1 1 1 1,;,1 1 1 1,;,1 1 1 1;,format rat,u t=schur(a),u=596/7049 1095/2222 985/1393 1/2,596/7049 1095/2222 -985/1393 1/2,-1198/1533 -789/2114 0 1/2,1079/1762 -1079/1762 0 1/2,t=,*,0 0 0,0,*,0 0,“*”,表示,0 0 0 0,近似于零,0 0 0 4,FORMAT RAT Approximation,by ratio of small integers.,38,4,、用正交变换化二次型为标准形,结论:作正交变换,则有,39,上机实验题,一、基础型实验,1,、计算下列极限,40,2,、计算下列导数,(1),(2),(3),(4),41,实验练习,一,.,输入,A=1,1,1;1,2,3;1,3,6,B=8,1,6;3,5,7;4,9,2,u=3;1;4,1.A+B;2.A-B;3.A*B;4.A*u;,5.2A-3B;6.A2+B2;7.AB-BA,。,二,.,求下列矩阵的逆阵并求其行列式的值,1.A=1,3,3;1,4,3;1,3,4;,2.A=1,2,3;2,2,1;3,4,3;,3.A=1,1,1,1;1,1,-1,-1;1,-1,1,-1;1,-1,-1,1;,4.A=1,1,0,0;1,2,0,0;3,7,2,3;2,5,1,2,。,三,.,解矩阵方程,1.A=2,5;1,3,B=4,-6;2,1,AX=B;,2.A=2,1,-1;2,1,0;1,-1,1,B=1,-1,3;4,3,2;1,-2,5,XA=B;,3.A=1,4;-1,2,B=2,0;-1,1,C=3,1;0,-1,AXB=C;,4.A=0,1,0;1,0,0;0,0,1,B=1,0,0;0,0,1;0,1,0,C=1,-4,3;2,0,-1;1,-2,0,AXB=C.,42,四,.,将下列矩阵化为阶梯矩阵,1.A=1,-2,0;-1,1,1;1,3,2;,2.A=0,1;1,0;0,-1;,3.A=1,2,3,4;0,1,2,3;0,0,1,2;0,0,0,1;,4.A=2,1,0,0;3,2,0,0;1,1,3,4;2,-1,2,3.,五,.,求下列矩阵的秩,1.A=-5,6,-3;3,1,11;4,-2,8;,2.A=1,-2,3,-1;3,-1,5,-3;2,1,2,-2;,3.A=3,1,0,2;1,-1,2,-1;1,3,-4,4;,4.A=1,4,-1,2,2;2,-2,1,1,0;-2,-1,3,2,0.,43,MATLAB,典型函数,含义,MATLAB,典型函数,含义,abs(x),求绝对值,tan(x),正切值,sqrt(x),求平方根值,cot(x),余切值,exp(x),指数运算,atan(x),反正切值,sin(x),正弦值,acot(x),反余切值,cos(x),余弦值,log(x),自然对数,asin(x),反正弦值,Log10(x),常用对数,acos(x),反余弦值,附录:,MATLAB,软件中部分常用函数表,44,作为一个功能强大的工具软件,,Matlab,具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即方便又高效。,一、绘图功能,45,一、,plot,数据点绘图命令,命令格式,:,plot(x,y),其中,x,和,y,为坐标向量,命令功能,:以向量,x,、,y,为轴,绘制曲线。,【,例,1】,在区间,0X2,内,绘制正弦曲线,Y=sin(x),,其程序为:,x=0:pi/100:2*pi;,y=sin(x);,plot(x,y),1.,二维图形,46,【,例,2】,同时绘制正、余弦两条曲线,y1=sin(x),和,y2=cos(x),,其程序为:,x=0:pi/100:2*pi;,y1=sin(x);,y2=cos(x);,plot(x,y1,x,y2),plot,函数还可以为,plot(x,y1,x,y2,,,x,y3,,,),形式,其功能是以公共向量,x,为,X,轴,分别以,y1,,,y2,,,y3,,,为,Y,轴,在同一幅图内绘制出多条曲线。,47,(一)线型与颜色,格式:,plot(x,y1,cs,.),其中,c,表示颜色,,s,表示线型。,【,例,3】,用不同线型和颜色重新绘制例,2,图形,其程序为:,x=0:pi/100:2*pi;,y1=sin(x);,y2=cos(x);,plot(x,y1,go,x,y2,b-.,),其中参数,go,和,b-.,表示图形的颜色和线型。,g,表示绿色,,o,表示图形线型为圆圈;,b,表示蓝色,,-.,表示图形线型为点划线。,48,绘图基本线型和颜色,49,(二)图形标记,在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。,title(,加图形标题,);,xlabel(,加,X,轴标记,);,ylabel(,加,Y,轴标记,);,text(X,Y,添加文本,);,50,(三)设定坐标轴,用户若对坐标系统不满意,可利用,axis,命令对其重新设定。,axis(xmin xmax ymin ymax),设定最大和最小值,axis,(,auto,)将坐标系统返回到自动缺省状态,axis,(,square,)将当前图形设置为方形,axis,(,equal,)两个坐标因子设成相等,axis,(,off,)关闭坐标系统,axis,(,on,)显示坐标系统,51,【,例,4】,在坐标范围,0 x2,-2y2,内重新绘制正弦曲线,其程序为:,x=linspace(0,2*pi,60);,%,生成含有,60,个数据元素的向量,x,y=sin(x);,plot(x,y);,axis(0 2*pi-2 2);,%,设定坐标轴范围,52,(四)加图例,给图形加图例命令为,legend,。该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。,格式,:,legend(,图例说明,图例说明,);,【,例,5】,为正弦、余弦曲线增加图例,其程序为:,x=0:pi/100:2*pi;,y1=sin(x);,y2=cos(x);,plot(x,y1,x,y2,-);,legend(sin(x),cos(x);,53,(五)加网格线命令,若在图形中加网格线,用,grid on,。,阅读以下程序:,x=-2:0.1:2;%,产生横坐标,x,数组,y=x.3-3*x;%,计算由,y=x3-3x,确定的纵坐标,y,数组,plot(x,y),%,绘图,grid on,%,给图形加上网格线,axis equal,%,使,x,y,轴单位刻度相等,54,(一),subplot,(,m,n,p,),该命令将当前图形窗口分成,mn,个绘图区,即每行,n,个,共,m,行,区号按行优先编号,且选定第,p,个区为当前活动区。,二、,subplot,并列绘图命令,55,【,例,6】,在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:,x=linspace(0,2*pi,60);y=sin(x);z=cos(x);,t=sin(x)./(cos(x)+eps);%eps,为系统内部常数,ct=cos(x)./(sin(x)+eps);,subplot(2,2,1);,%,分成,22,区域且指定,1,号为活动区,plot(x,y);title(sin(x);axis(0 2*pi-1 1);,subplot(2,2,2);,plot(x,z);title(cos(x);axis(0 2*pi-1 1);,subplot(2,2,3);,plot(x,t);title(tangent(x);axis(0 2*pi-40 40);,subplot(2,2,4);,plot(x,ct);title(cotangent(x);axis(0 2*pi-40 40);,56,(二),figure,多图形窗口绘图命令,需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用,figure,命令。,每执行一次,figure,命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而,axis,、,xlabel,、,title,等许多命令也只对活动窗口有效。,57,重新绘制上例,4,个图形,程序变动后如下:,x=linspace(0,2*pi,60);,y=sin(x);,z=cos(x);,t=sin(x)./(cos(x)+eps);,ct=cos(x)./(sin(x)+eps);,H1=figure;,%,创建新窗口并返回句柄到变量,H1,plot(x,y);%,绘制图形并设置有关属性,title(sin(x);axis(0 2*pi-1 1);,H2=figure;,%,创建第二个窗口并返回句柄到变量,H2,plot(x,z);%,绘制图形并设置有关属性,title(cos(x);axis(0 2*pi-1 1);,H3=figure;,%,同上,plot(x,t);title(tangent(x);axis(0 2*pi-40 40);,H4=figure;,%,同上,plot(x,ct);title(cotangent(x);axis(0 2*pi-40 40);,58,(三),hold,图形保持命令,若在已存在图形窗口中用,plot,命令继续添加新的图形内容,可使用图形保持命令,hold,。发出命令,hold on,后,再执行,plot,命令,在保持原有图形或曲线的基础上,添加新绘制的图形。,59,阅读如下程序:,x=linspace(0,2*pi,60);,y=sin(x);,z=cos(x);,plot(x,y,b);%,绘制正弦曲线,hold on;,%,设置图形保持状态,plot(x,z,g);%,保持正弦曲线同时绘制余弦曲线,axis(0 2*pi-1 1);,legend(cos,sin);,hold off,%,关闭图形保持,60,三、,fplot-,函数,f,(x),绘图命令,fplot,函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。,fplot,函数格式,:,fplot(fname,,,lims),其中,fname,为函数名,以字符串形式出现,,lims=a,b,或,a,b,c,d,,为变量取值范围。,a,b,为,x,的区间,,c,d,为,y,的区间。,例:,fplot(sin(x),0 2*pi,-+),fplot(sin(x),cos(x),0 2*pi,.),%,同时绘制正弦、余弦曲线,61,为绘制,f(x)=cos(tan(x),曲线,可先建立函数文件,fct.m,,其内容为:,function y=fct(x),y=cos(tan(pi*x);,用,fplot,函数调用,fct.m,函数,其命令为:,fplot(fct,0 1),62,四、,explot,符号函数的绘图命令,ezplot,函数格式,:,ezplot(fname,,,lims),其中,fname,为函数名,以字符串形式出现,,lims=a,b,或,a,b,c,d,,为变量取值范围。,例:,%,绘制正弦函数从,0,到,2pi,区间上的图形,ez,plot(sin(x),0 2*pi),%,绘制隐函数,f(x,y)=0,在,a,b,与,c,d,区间上的图形,ezplot(4*x2+16*y2-3,-1 1-1 1),%,绘制参数方程,x=sinx,y=cosx,的图形,ezplot(sin(x),cos(x),0 2*pi),63,一、对数坐标图形,(一),loglog(x,y),双对数坐标,【,例,7】,绘制,y=|1000sin(4x)|+1,的双对数坐标图。程序为:,x=0:0.1:2*pi;,y=abs(1000*sin(4*x)+1;,loglog(x,y);%双对数坐标绘图命令,2,特殊坐标图形,64,(二)单对数坐标,以,X,轴为对数重新绘制上述曲线,程序为:,x=0:0.01:2*pi,y=abs(1000*sin(4*x)+1,semilogx(x,y);,%,单对数,X,轴绘图命令,同样,可以以,Y,轴为对数重新绘制上述曲线,程序为:,x=0:0.01:2*pi,y=abs(1000*sin(4*x)+1,semilogy(x,y);,%,单对数,Y,轴绘图命令,65,二、极坐标图,函数,polar(theta,rho),用来绘制极坐标图,,theta,为极坐标角度,,rho,为极坐标半径,【,例,8】,绘制,sin(2*)*cos(2*),的极坐标图,程序为:,theta=0:0.01:2*pi;,rho=sin(2*theta).*cos(2*theta);,polar(theta,rho);,%,绘制极坐标图命令,title(polar plot);,66,一、阶梯图形,函数,stairs(x,y),可以绘制阶梯图形,如下列程序段:,x=-2.5:0.25:2.5;,y=exp(-x.*x);,stairs(x,y);%,绘制阶梯图形命令,title(stairs plot);,3,其它图形函数,67,二、条形图形,函数,bar(x,y),可以绘制条形图形,如下列程序段将绘制条形图形,x=-2.5:0.25:2.5;,y=exp(-x.*x);,bar(x,y);%,绘制条形图命令,68,三、填充图形,fill(x,y,c),函数用来绘制并填充二维多边图形,,x,和,y,为二维多边形顶点坐标向量。字符,c,规定填充颜色,其取值前已叙述。,下述程序段绘制一正方形并以黄色填充:,x=0 1 1 0 0;%,正方形顶点坐标向量,y=0 0 1 1 0;,fill(x,y,y);%,绘制并以黄色填充正方形图,69,再如:,x=0:0.025:2*pi;,y=sin(3*x);,fill(x,y,0.5 0.3 0.4);%,颜色向量,Matlab,系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用,r g b,表示,即,RGB,颜色组合;以,RGB,为基本色,通过,r,g,b,在,01,范围内的不同取值可以组合出各种颜色。,70,常用绘图命令:,plot:,用于数据点绘图。,fplot:,用于函数绘图。,ezplot:,用于符号函数绘图。可绘制隐函数和参数方程的图形。,区别与差异:,plot,fplot,可对图形的线形,颜色作出控制,而,ezplot,则不能。,fplot,可绘出比较精确的图形,而,ezplot,一般较适宜画不太精确的图形。,小结,71,plot,二维图形基本函数,fplot f(x),函数曲线绘制,ezplot,符号函数绘图,fill,填充二维多边图形,polar,极坐标图,bar,条形图,loglog,双对数坐标图,semilogx X,轴为对数的坐标图,semilogy Y,轴为对数的坐标图,stairs,阶梯形图,二维绘图函数小结,axis,设置坐标轴,figure,创建图形窗口,grid,放置坐标网格线,hold,保持当前图形窗口内容,subplot,创建子图,title,放置图形标题,xlabel,放置,X,轴坐标标记,ylabel,放置,Y,轴坐标标记,72,阅读下面程序,:,%,绘制摆线,:,hold on,t=0:0.01:4*pi;,for a=1:1:3,x=a*(t-sin(t);,y=a*(1-cos(t);,plot(x,y),end,73,h=3 2 1 0.5;%,在曲线上取不同的点,a=(exp(h)-1)./h;%,计算连接点,M,与与点,P,的各条割线的斜率,x=-1:0.1:3;%,选定图形的自变量范围,plot(x,exp(x),r);%,作函数图形,hold on;%,在图形上继续作图,for i=1:4,plot(h(i),exp(h(i),w)%,在图上作出不同的点,plot(x,a(i)*x+1)%,作割线的图,end,axis square%,把所有图形放在一个正方形框内,plot(x,x+1,g)%,画出切线的图形,画出 在点,P(0,1),处的切线及若干条割线,观察割线的变化趋势,理解导数的定义及几何意义,.,74,一、,plot3,函数,最基本的三维图形函数为,plot3,,它是将二维函数,plot,的有关功能扩展到三维空间,用来绘制三维图形。,函数格式:,plot3(x1,y1,z1,c1,x2,y2,z2,c2,),其中,x1,y1,z1,表示三维坐标向量,,c1,,,c2,表示线形或颜色。,函数功能:以向量,x,,,y,,,z,为坐标,绘制三维曲线。,三维图形,75,【,例,9】,绘制三维螺旋曲线,其程序为:,t=0:pi/50:10*pi;,y1=sin(t);y2=cos(t);,plot3(y1,y2,t);,title(helix),text(0,0,0,origin);,xlabel(sin(t),ylabel(cos(t),zlabel(t);,grid;,76,二、,mesh,函数,mesh,函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。,函数格式:,mesh(x,y,z,c),其中,x,,,y,控制,X,和,Y,轴坐标,矩阵,z,是由,(x,,,y),求得,Z,轴坐标,,(x,y,z),组成了三维空间的网格点;,c,用于控制网格点颜色。,【,例,10】,下列程序绘制三维网格曲面图,x=0:0.15:2*pi;,y=0:0.15:2*pi;,z=sin(y)*cos(x);%,矩阵相乘,mesh(x,y,z);,77,三、,surf,函数,surf,用于绘制三维曲面图,各线条之间的补面用颜色填充。,surf,函数和,mesh,函数的调用格式一致。,函数格式,:,surf(x,y,z),其中,x,,,y,控制,X,和,Y,轴坐标,矩阵,z,是由,x,,,y,求得的曲面上,Z,轴坐标。,【,例,11】,下列程序绘制三维曲面图形,x=0:0.15:2*pi;,y=0:0.15:2*pi;,z=sin(y)*cos(x);%,矩阵相乘,surf(x,y,z);,xlabel(x-axis),ylabel(y-axis),zlabel(z-label);,title(3-D surf);,78,例绘制马鞍面的图形,并用平行截面法观察马鞍面的特点,x=-4:0.1:4;y=x;,mx,my=meshgrid(x,y);,mz=mx.2-my.2;,ix=find(mx=2);,px=2*ones(1,length(ix);,py=my(ix);,pz=mz(ix);,subplot(1,2,1),hold on,mesh(mx,my,mz),plot3(px,py,pz,r*),subplot(1,2,2),plot3(px,py,pz),79,拟 合,2.,拟合的基本原理,1.,拟合问题引例,80,拟 合 问 题 引 例,1,温度,t(,0,C)20.5 32.7 51.0 73.0 95.7,电阻,R(,)765 826 873 942 1032,已知热敏电阻数据:,求,60,0,C,时的电阻,R,。,设,R=at+b,a,b,为待定系数,81,拟 合 问 题 引 例,2,t(h)0.25 0.5 1 1.5 2 3 4 6 8,c(,g/ml),19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01,已知一室模型快速静脉注射下的血药浓度数据,(t=0,注射300,mg),求血药浓度随时间的变化规律,c(t).,作半对数坐标系,(semilogy),下的图形,MATLAB(aa1),82,曲 线 拟 合 问 题 的 提 法,已知一组(二维)数据,即平面上,n,个点,(,x,i,y,i,)i=1,n,寻求一个函数(曲线),y=f(x),使,f(x),在某种准则下与所有数据点最为接近,即曲线拟合得最好。,+,+,+,+,+,+,+,+,+,x,y,y=f(x),(x,i,y,i,),i,i,为点,(,x,i,y,i,),与,曲线,y=f(x),的距离,83,拟合与插值的关系,函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。,实例:,下面数据是某次实验所得,希望得到,X,和,f,之间的关系?,MATLAB(cn),问题:,给定一批数据点,需确定满足特定要求的曲线或曲面,解决方案:,若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就是,数据拟合,,又称曲线拟合或曲面拟合。,若要求所求曲线(面)通过所给所有数据点,就是,插值问题,;,84,最临近插值、线性插值、样条插值与曲线拟合结果:,85,曲线拟合问题最常用的解法,线性最小二乘法的基本思路,第一步,:,先选定一组函数,r,1,(x),r,2,(x),r,m,(x),m0),模型假设,1.,机体看作一个房室,室内血药浓度均匀,一室模型,模型建立,在此,,d=300mg,,,t,及,c,(,t,)在某些点处的值见前表,需经拟合求出参数,k,、,v,109,用线性最小二乘拟合,c(t),MATLAB(lihe1),计算结果:,d=300;,t=0.25 0.5 1 1.5 2 3 4 6 8;,c=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;,y=log(c);,a=polyfit(t,y,1),k=-a(1),v=d/exp(a(2),程序:,用非线性最小二乘拟合,c(t),110,给药方案 设计,c,c,2,c,1,0,t,设每次注射剂量,D,间隔时间,血药浓度,c(t),应,c,1,c(t),c,2,初次剂量,D,0,应加大,给药方案记为:,2,、,1,、,计算结果:,给药方案:,c,1,=10,c,2,=25,k=0.2347,v=15.02,111,故可制定给药方案:,即,:,首次注射,375mg,,,其余每次注射,225mg,,,注射的间隔时间为,4,小时。,112,估计水塔的流量,2,、解题思路,3,、算法设计与编程,1,、问题,113,某居民区有一供居民用水的园柱形水塔,一般可以通过测量其水位来估计水的流量,但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量通常水泵每天供水一两次,每次约两小时,.,水塔是一个高,12.2,米,直径,17.4,米的正园柱按照设计,水塔水位降至约,8.2,米时,水泵自动启动,水位升到约,10.8,米时水泵停止工作,表,1,是某一天的水位测量记录,试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量,114,115,流量估计的解题思路,拟合水位,时间函数,确定流量,时间函数,估计一天总用水量,116,拟合水位,时间函数,测量记录看,一天有两个供水时段(以下称第,1,供水时段和第,2,供水时段),和,3,个水泵不工作时段(以下
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服