MATLAB在数学建模中的应用复习课程

上传人:枫** 文档编号:570909811 上传时间:2024-08-07 格式:PPT 页数:132 大小:2.88MB
返回 下载 相关 举报
MATLAB在数学建模中的应用复习课程_第1页
第1页 / 共132页
MATLAB在数学建模中的应用复习课程_第2页
第2页 / 共132页
MATLAB在数学建模中的应用复习课程_第3页
第3页 / 共132页
MATLAB在数学建模中的应用复习课程_第4页
第4页 / 共132页
MATLAB在数学建模中的应用复习课程_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《MATLAB在数学建模中的应用复习课程》由会员分享,可在线阅读,更多相关《MATLAB在数学建模中的应用复习课程(132页珍藏版)》请在金锄头文库上搜索。

1、MATLAB在数学建模中的应用求解结果求解结果发现规律发现规律模型验证模型验证讨论分析讨论分析计算在数学建模中的作用计算在数学建模中的作用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版版MATLAB的功能MATLABMATLAB产品组是

2、从支持概念设计、算法开发、建模仿真,产品组是从支持概念设计、算法开发、建模仿真,到实时实现的集成环境,可用来进行:到实时实现的集成环境,可用来进行:数据分析数据分析数值与符号计算数值与符号计算工程与科学绘图工程与科学绘图控制系统设计控制系统设计数字图像信号处理数字图像信号处理建模、仿真、原型开发建模、仿真、原型开发财务工程、应用开发、图形用户界面设计财务工程、应用开发、图形用户界面设计MATLAB语言特点编程效率高,允许用数学的语言来编写程序编程效率高,允许用数学的语言来编写程序用户使用方便,把程序的编辑、编译、连接和执行融为一体用户使用方便,把程序的编辑、编译、连接和执行融为一体高效方便的矩

3、阵和数组运算高效方便的矩阵和数组运算语句简单,内涵丰富语句简单,内涵丰富扩充能力强,交互性,开放性扩充能力强,交互性,开放性方便的绘图功能方便的绘图功能该软件由该软件由c c语言编写,移植性好语言编写,移植性好学习该软件的必要性:学习该软件的必要性:目前,目前,MATLAB软件不仅走入企业、公司和科研机构,软件不仅走入企业、公司和科研机构,而且在高等院校也是从大学生到博士而且在高等院校也是从大学生到博士生都必须掌握的一项基本技能,是必生都必须掌握的一项基本技能,是必不可少的计算工具,。不可少的计算工具,。MATLAB功能:功能:数值计算、符号运算和数值计算、符号运算和图形处理。图形处理。学习它

4、的意义:学习它的意义:随着计算机科学随着计算机科学和计算软件的发展,数学系学生和计算软件的发展,数学系学生必须掌握一门好的计算软件。这必须掌握一门好的计算软件。这是我们就业、继续身造或做科研是我们就业、继续身造或做科研工作所要用到的。是当代大学生工作所要用到的。是当代大学生必备的一项技能。必备的一项技能。其它计算软件:其它计算软件:MATHEMATIC(数学分析问题的计算);(数学分析问题的计算);LINGO(规划问题的计算)。可以(规划问题的计算)。可以说一个人掌握了一门计算软件,说一个人掌握了一门计算软件,再学习其它计算软件就很容易。再学习其它计算软件就很容易。MATLAB的环境菜单项;菜

5、单项;工具栏;工具栏;【Command WindowCommand Window】命令窗口;命令窗口;【Launch PadLaunch Pad】分类帮助窗口;分类帮助窗口;【WorkspaceWorkspace】工作区窗口;工作区窗口;【Command HistoryCommand History】指令历史记录窗口;指令历史记录窗口;【Current DirectoryCurrent Directory】当前目录选择窗口;当前目录选择窗口;lMATLAB操作窗口操作窗口双击桌面快捷键,启动软件。双击桌面快捷键,启动软件。接受命令的窗口接受命令的窗口MATLAB在在微积分微积分中的应用中的应用

6、1、求函数值、求函数值例例1在命令窗口中键入表达式在命令窗口中键入表达式并求并求时的函数值。时的函数值。x=2,y=4z=x2+exp(x+y)-y*log(x)-3x=2y=4z=401.6562命令窗口显示结果:命令窗口显示结果:例例2用循环语句编写用循环语句编写M文件计算文件计算ex的值,其中的值,其中x,n为输入为输入变量,变量,ex的近似表达式为的近似表达式为functiony=e(x,n)y=1;s=1;fori=1:ns=s*i;y=y+xi/s;endyy=e(1,100)ans=yy=2.7183调用函数调用函数M文件文件MATLAB在在微积分微积分中的应用中的应用2、求极限

7、、求极限例例3求极限求极限symsn;limit(sqrt(n+sqrt(n)-sqrt(n),n,inf)ans=1/2LIMITLimitofanexpression.LIMIT(F,x,a)takesthelimitofthesymbolicexpressionFasx-a.LIMIT(F,x,a,right)orLIMIT(F,x,a,left)specifythedirectionofaone-sidedlimit.定义符号变量定义符号变量MATLAB在在微积分微积分中的应用中的应用3、求导数、求导数例例4设设,求,求symsxy=10x+x10+log(x)y=x10+10x+lo

8、g(x)diff(y)ans=10*x9+10x*log(10)+1/x定义定义X为符号变量为符号变量求求Difference:差分:差分Differential:微分的:微分的例例5设设求求symsx;y=log(1+x);a=diff(y,x,2)a=-1/(1+x)2x=1;eval(a)ans=-0.2500求求求求将符号表达式将符号表达式转换成数值表达式转换成数值表达式例例6设设,求,求symsxy;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)a=2*exp(2*x)

9、*(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)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-005MATLA

10、B在在微积分微积分中的应用中的应用4、求极值和零点、求极值和零点,求,求例例8已知已知函数在点(函数在点(1,-1,0)附近的最小值)附近的最小值X,FVAL=FMINSEARCH(x(1)2+2.5*sin(x(2)-x(3)*x(1)*x(2)2,1-10)X=0.0010-1.57080.0008FVAL=-2.5000MATLAB在在微积分微积分中的应用中的应用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(

11、x),1,exp(1)ans=4.5746x=1:0.01:exp(1);y=x.2.*log(x);trapz(x,y)ans=4.5137例例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.8556y=exp(-x.2/2);quadl(y,0,1)ans=0.8556变步长变步长数值积分数值积分梯形法数值积分梯形法数值积分MATLAB在在微积分微积分中的应用中的应用5、求积分、求积分例例11求二重积分求二重积分symsxy;

12、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数值计算数值计算MATLAB在在微积分微积分中的应用中的应用6、解微分方程、解微分方程例例12计算初算初值问题: dsolve(Dy=x+y,y(0)=1,x)ans=-x-1+2*exp(x)一定要大写一定要大写MATLAB在在微积分微积分中的应用中的应用7、级数问题、级数问题例例13求函数求函数的泰勒展开式,并计算该的泰勒展开式,并计算该函数在函数在x=3.42时的近似值。时的近似值。symsx;taylo

13、r(sin(x)/x,x,10)ans=1-1/6*x2+1/120*x4-1/5040*x6+1/362880*x8x=3.42;eval(ans)ans=-0.0753MATLAB在在线性代数线性代数中的应用中的应用1、矩阵的基本运算、矩阵的基本运算例例1已知已知a=4-22;-305;153;b=134;-20-3;2-11;a*b1210247-14-7-30-8ans=ABMATLAB在在线性代数线性代数中的应用中的应用1、矩阵的基本运算、矩阵的基本运算例例1已知已知 inv(a)ans = 0.1582 -0.1013 0.0633 -0.0886 -0.0633 0.1646 0

14、.0949 0.1392 0.0380MATLAB在在线性代数线性代数中的应用中的应用1、矩阵的基本运算、矩阵的基本运算例例1已知已知 rank(a)ans = 3MATLAB在在线性代数线性代数中的应用中的应用1、矩阵的基本运算、矩阵的基本运算例例1已知已知 a/bans = 0 0 2.0000 -2.7143 -8.0000 -8.1429 2.4286 3.0000 2.2857MATLAB在在线性代数线性代数中的应用中的应用1、矩阵的基本运算、矩阵的基本运算例例1已知已知 abans = 0.4873 0.4114 1.0000 0.3671 -0.4304 0 -0.1076 0.

15、2468 02、解线性方程组、解线性方程组 a=1 -1 4 -2;1 -1 -1 2;3 1 7 -2;1 -3 -12 6; rref(a)ans =1 0 0 00 1 0 00 0 1 00 0 0 1将矩阵将矩阵A化为最简阶梯形化为最简阶梯形R(A)=4=n;所以方程组只有零解。所以方程组只有零解。RREFReducedrowechelonform2、解线性方程组、解线性方程组求齐次方程组求齐次方程组的基础解系的基础解系a=231;1-24;38-2;4-19;b=4;-5;13;-6;c=null(a,r)c=-211求非齐次方程组求非齐次方程组的一个特解的一个特解lu=lu(a)

16、;x0=u(lb)x0=-3124/1353529/2702989/270所以方程组的一般解为所以方程组的一般解为3、将矩阵对角化、将矩阵对角化a=-120;-230;302;v,d=eig(a)v=0379/1257379/12570379/1257379/12571-379/419-379/419d=200010001A的特征值为的特征值为2,1,14、用正交变换化二次型为标准形、用正交变换化二次型为标准形a=1111111111111111;formatut=schur(a)u=0.08460.49280.70710.50000.08460.4928-0.70710.5000-0.781

17、5-0.373200.50000.6124-0.612400.5000t=-0.00000000-0.00000000000004.0000a=1111;1111;1111;1111;formatratut=schur(a)u=596/70491095/2222985/13931/2596/70491095/2222-985/13931/2-1198/1533-789/211401/21079/1762-1079/176201/2t=*0000*00“*”表示表示0000近似于零近似于零0004FORMATRATApproximationbyratioofsmallintegers.4、用正交

18、变换化二次型为标准形、用正交变换化二次型为标准形结论:作正交变换结论:作正交变换则有则有上机实验题上机实验题一、基础型实验一、基础型实验1、计算下列极限、计算下列极限2、计算下列导数、计算下列导数(1)(2)(3)(4) 实验练习实验练习一一.输入输入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

19、; 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.四四.将下列矩阵化为阶梯矩阵将下

20、列矩阵化为阶梯矩阵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.MATLAB典典型函数型函数含义含义MATLAB典型函数典型函数

21、含义含义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软件中部分常用函数表软件中部分常用函数表作作为为一一个个功功能能强强大大的的工工具具软软件件,Matlab具具有有很很强强的的图图形形处处理理功功能能,提提供供了了大大量量的的二二维维、三三维维图图形形

22、函函数数。由由于于系系统统采采用用面面向向对对象象的的技技术术和和丰丰富富的的矩矩阵阵运运算算,所所以以在在图图形形处处理理方方面面即方便又高效。即方便又高效。 一、绘图功能一、绘图功能一、一、 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.二维图形二维图形【例例2】同同时时绘绘制制正正、余余

23、弦弦两两条条曲曲线线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轴,在同一幅图内绘制出多条曲线。轴,在同一幅图内绘制出多条曲线。(一)线型与颜色(一)线型与颜色格式:格式:plot(x,y1,cs,.)其中其中c表示颜色,表示颜色, s表示线型。表示线型。【例例3】用不同线型和颜色重新绘制例用不同线型和

24、颜色重新绘制例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表表示示蓝蓝色色,-.表表示示图图形形线线型型为为点点划线。划线。绘图基本线型和颜色绘图基本线型和颜色(二)图形标记(二)图形标记在绘制图形的同时,可以对图形加上一些说明,在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,如图形名称、图形某一部分的含义、坐标说明等,

25、将这些操作称为添加图形标记。将这些操作称为添加图形标记。title(加图形标题加图形标题); xlabel(加加X轴标记轴标记); ylabel(加加Y轴标记轴标记); text(X,Y,添加文本添加文本); (三)设定坐标轴(三)设定坐标轴用户若对坐标系统不满意,可利用用户若对坐标系统不满意,可利用axis命令对其重命令对其重新设定。新设定。axis(xmin xmax ymin ymax) 设定最大和最小值设定最大和最小值axis (auto) 将坐标系统返回到自动缺省状态将坐标系统返回到自动缺省状态axis (square) 将当前图形设置为方形将当前图形设置为方形axis (equal

26、) 两个坐标因子设成相等两个坐标因子设成相等axis (off) 关闭坐标系统关闭坐标系统axis (on) 显示坐标系统显示坐标系统【例例4】 在在坐坐标标范范围围0x2,-2y2内内重重新新绘绘制制正正弦弦曲曲线线,其程序为:其程序为:x=linspace(0,2*pi,60); %生成含有生成含有60个数据元素的向量个数据元素的向量xy=sin(x);plot(x,y);axis (0 2*pi -2 2); %设定坐标轴范围设定坐标轴范围(四)加图例(四)加图例给图形加图例命令为给图形加图例命令为legend。该命令把图例放置在图形空。该命令把图例放置在图形空白处,用户还可以通过鼠标移

27、动图例,将其放到希望的位白处,用户还可以通过鼠标移动图例,将其放到希望的位置。置。格式格式:legend(图例说明图例说明,图例说明图例说明);【例例5】为正弦、余弦曲线增加图例,其程序为:为正弦、余弦曲线增加图例,其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,-);legend(sin(x),cos(x);(五)加网格线命令(五)加网格线命令若在图形中加网格线,用若在图形中加网格线,用grid on。阅读以下程序:阅读以下程序:x=-2:0.1:2;%产生横坐标产生横坐标x数组数组y=x.3-3*x;%计算由计算由y=x3-3

28、x确定的纵坐标确定的纵坐标y数组数组plot(x,y)%绘图绘图gridon%给图形加上网格线给图形加上网格线axisequal%使使x,y轴单位刻度相等轴单位刻度相等(一)(一)subplot(m,n,p)该命令将当前图形窗口分成该命令将当前图形窗口分成mn个绘图区,即每行个绘图区,即每行n个,个,共共m行,区号按行优先编号,且选定第行,区号按行优先编号,且选定第p个区为当前活个区为当前活动区。动区。二、二、subplot并列绘图命令并列绘图命令【例例6】 在一个图形窗口中同时绘制正弦、余弦、在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:正切、余切曲线,程序为:x=linspa

29、ce(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

30、 2*pi -40 40);subplot(2,2,4);plot(x,ct); title(cotangent(x); axis (0 2*pi -40 40);(二)(二) figure 多图形窗口绘图命令多图形窗口绘图命令需要建立多个图形窗口,绘制并保持每一个窗需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用口的图形,可以使用figure命令。命令。每执行一次每执行一次figure命令,就创建一个新的图形命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显回该窗口的识别号码,称该号

31、码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。等许多命令也只对活动窗口有效。重新绘制上例重新绘制上例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; %创建新窗口并返回句柄到变量创建新窗口并返回句柄到变量H1pl

32、ot(x,y); %绘制图形并设置有关属性绘制图形并设置有关属性title(sin(x); axis (0 2*pi -1 1); H2=figure; %创建第二个窗口并返回句柄到变量创建第二个窗口并返回句柄到变量H2plot(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

33、*pi -40 40);(三)(三)hold图形保持命令图形保持命令若在已存在图形窗口中用若在已存在图形窗口中用plot命令继续添加新的图形内容,命令继续添加新的图形内容,可使用图形保持命令可使用图形保持命令hold。发出命令。发出命令hold on后,再执行后,再执行plot命令,在保持原有图形或曲线的基础上,添加新绘制命令,在保持原有图形或曲线的基础上,添加新绘制的图形。的图形。阅读如下程序:阅读如下程序:x=linspace(0,2*pi,60);y=sin(x);z=cos(x);plot(x,y,b); %绘制正弦曲线绘制正弦曲线hold on; %设置图形保持状态设置图形保持状态p

34、lot(x,z,g); %保持正弦曲线同时绘制余弦曲线保持正弦曲线同时绘制余弦曲线axis (0 2*pi -1 1); legend(cos,sin);hold off %关闭图形保持关闭图形保持三、三、 fplot-函数函数f(x)绘图命令绘图命令fplot函数则可自适应地对函数进行采样,能更好地反应函函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。数的变化规律。fplot函数格式函数格式:fplot(fname,lims)其中其中fname为函数名,以字符串形式出现,为函数名,以字符串形式出现, lims=a,b或或a,b,c,d,为变量取值范,为变量取值范围。围。 a,b为

35、为x的区间,的区间,c,d为为y的区间。的区间。例:例:fplot(sin(x),0 2*pi,-+)fplot(sin(x),cos(x),0 2*pi,.) %同同时时绘绘制制正正弦弦、余余弦弦曲线曲线为为绘绘制制f(x)=cos(tan(x)曲曲线线,可可先先建建立立函函数数文文件件fct.m,其内容为:其内容为:function y=fct(x) y=cos(tan(pi*x);用用fplot函数调用函数调用fct.m函数,其命令为:函数,其命令为:fplot(fct,0 1)四、四、 explot符号函数的绘图命令符号函数的绘图命令ezplot函数格式函数格式:ezplot(fnam

36、e,lims)其中其中fname为函数名,以字符串形式出现,为函数名,以字符串形式出现, lims=a,b或或a,b,c,d,为变量取值范,为变量取值范围。围。例:例:%绘制正弦函数从绘制正弦函数从0到到2pi区间上的图形区间上的图形ezplot(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)一、一、 对数坐标图形对数坐标图形(一)(一)loglog(x

37、,y) 双对数坐标双对数坐标【例例7】 绘绘制制y=|1000sin(4x)|+1的的双双对对数数坐坐标标图图。程程序为:序为:x=0:0.1:2*pi;y=abs(1000*sin(4*x)+1;loglog(x,y); %双对数坐标绘图命令双对数坐标绘图命令2 特殊坐标图形特殊坐标图形(二)单对数坐标(二)单对数坐标以以X轴为对数重新绘制上述曲线,程序为:轴为对数重新绘制上述曲线,程序为:x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogx(x,y); %单对数单对数X轴绘图命令轴绘图命令同样,可以以同样,可以以Y轴为对数重新绘制上述曲线,程序为:轴为对数重

38、新绘制上述曲线,程序为:x=0:0.01:2*piy=abs(1000*sin(4*x)+1semilogy(x,y); %单对数单对数Y轴绘图命令轴绘图命令二、二、 极坐标图极坐标图函数函数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(p

39、olar plot);一、阶梯图形一、阶梯图形函数函数stairs(x,y)可以绘制阶梯图形,如下列程序段:可以绘制阶梯图形,如下列程序段:x=-2.5:0.25:2.5;y=exp(-x.*x);stairs(x,y); %绘制阶梯图形命令绘制阶梯图形命令title(stairs plot);3 其它图形函数其它图形函数二、条形图形二、条形图形函数函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形可以绘制条形图形,如下列程序段将绘制条形图形图形x=-2.5:0.25:2.5;y=exp(-x.*x);bar(x,y); %绘制条形图命令绘制条形图命令三、填充图形三、填充图形fill

40、(x,y,c)函数用来绘制并填充二维多边图形,函数用来绘制并填充二维多边图形,x和和y为为二维多边形顶点坐标向量。字符二维多边形顶点坐标向量。字符 c 规定填充颜色,其规定填充颜色,其取值前已叙述。取值前已叙述。下述程序段绘制一正方形并以黄色填充:下述程序段绘制一正方形并以黄色填充:x=0 1 1 0 0; %正方形顶点坐标向量正方形顶点坐标向量y=0 0 1 1 0;fill(x,y,y);%绘制并以黄色填充正方形图绘制并以黄色填充正方形图再如:再如:x=0:0.025:2*pi;y=sin(3*x);fill(x,y,0.5 0.3 0.4); %颜色向量颜色向量Matlab系统可用向量表

41、示颜色,通常称其为颜色向系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用量。基本颜色向量用r g b表示,即表示,即RGB颜色组合;颜色组合;以以RGB为基本色,通过为基本色,通过 r,g,b在在01范围内的不同取值范围内的不同取值可以组合出各种颜色。可以组合出各种颜色。常用绘图命令:常用绘图命令:plot:用于数据点绘图。用于数据点绘图。fplot:用于函数绘图。用于函数绘图。ezplot:用于符号函数绘图。可绘制隐函数和参数用于符号函数绘图。可绘制隐函数和参数方程的图形。方程的图形。区别与差异:区别与差异:plot,fplot可对图形的线形,颜色作出控制,而可对图形的线形,颜色作出

42、控制,而ezplot则不能。则不能。fplot可绘出比较精确的图形,而可绘出比较精确的图形,而ezplot一般较适宜一般较适宜画不太精确的图形。画不太精确的图形。小结plot 二维图形基本函数二维图形基本函数fplot f(x)函数曲线绘制函数曲线绘制ezplot 符号函数绘图符号函数绘图fill 填充二维多边图形填充二维多边图形polar 极坐标图极坐标图bar 条形图条形图loglog 双对数坐标图双对数坐标图semilogx X轴为对数的坐标图轴为对数的坐标图semilogy Y轴为对数的坐标图轴为对数的坐标图stairs 阶梯形图阶梯形图二维绘图函数小结二维绘图函数小结axis设置坐标

43、轴设置坐标轴figure创建图形窗口创建图形窗口grid放置坐标网格线放置坐标网格线hold保持当前图形窗口内容保持当前图形窗口内容subplot创建子图创建子图title放置图形标题放置图形标题xlabel放置放置X轴坐标标记轴坐标标记ylabel放置放置Y轴坐标标记轴坐标标记阅读下面程序阅读下面程序:%绘制摆线绘制摆线:holdont=0:0.01:4*pi;fora=1:1:3x=a*(t-sin(t);y=a*(1-cos(t);plot(x,y)endh=3210.5;%在曲线上取不同的点在曲线上取不同的点a=(exp(h)-1)./h;%计算连接点计算连接点M与与点与与点P的各条割

44、线的斜率的各条割线的斜率x=-1:0.1:3;%选定图形的自变量范围选定图形的自变量范围plot(x,exp(x),r);%作函数图形作函数图形holdon;%在图形上继续作图在图形上继续作图fori=1:4plot(h(i),exp(h(i),w)%在图上作出不同的点在图上作出不同的点plot(x,a(i)*x+1)%作割线的图作割线的图endaxissquare%把所有图形放在一个正方形框内把所有图形放在一个正方形框内plot(x,x+1,g)%画出切线的图形画出切线的图形画出画出在点在点P(0,1)处的切线及若干条割线处的切线及若干条割线,观察割观察割线的变化趋势线的变化趋势,理解导数的

45、定义及几何意义理解导数的定义及几何意义.一、一、 plot3函数函数最基本的三维图形函数为最基本的三维图形函数为plot3,它是将二维函数,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。的有关功能扩展到三维空间,用来绘制三维图形。函数格式:函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,) 其中其中x1,y1,z1表示三维坐标向量,表示三维坐标向量,c1,c2表示线形或颜色。表示线形或颜色。函数功能:以向量函数功能:以向量x,y,z为坐标,绘制三维曲线。为坐标,绘制三维曲线。 三维图形三维图形【例例9】 绘制三维螺旋曲线,其程序为:绘制三维螺旋曲线,其

46、程序为: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;二、二、mesh函数函数mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。突出的优

47、点是:它较好地解决了实验数据在三维空间的可视化问题。函数格式:函数格式: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);三、三、surf函数函数surf用用于于绘绘制制三三维维曲曲面面图图,各各线线条条之之间间的的补补面面用用颜

48、颜色色填填充充。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-Dsurf);例绘制马鞍面的图形,并用平行截面例绘制马鞍面的图形

49、,并用平行截面法观察马鞍面的特点法观察马鞍面的特点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)holdonmesh(mx,my,mz)plot3(px,py,pz,r*)subplot(1,2,2)plot3(px,py,pz)拟拟合合2.2.拟合的基本原理拟合的基本原理1. 拟合问题引例拟合问题引例拟拟 合合 问问 题题 引引 例例 1 1温度温度t(0C)20.532.751.073.095.7电阻

50、电阻R( )7658268739421032已知热敏电阻数据:已知热敏电阻数据:求求60600C时的电阻时的电阻R。 设设 R=at+ba,b为待定系数为待定系数拟拟 合合 问问 题题 引引 例例 2 2 t(h)0.250.511.523468c( g/ml)19.2118.1515.3614.1012.899.327.455.243.01已知一室模型快速静脉注射下的血药浓度数据已知一室模型快速静脉注射下的血药浓度数据(t=0注射注射300mg)求血药浓度随时间的变化规律求血药浓度随时间的变化规律c(t).作半对数坐标系作半对数坐标系(semilogy)下的图形下的图形MATLAB(aa1)

51、曲曲 线线 拟拟 合合 问问 题题 的的 提提 法法已知一组(二维)数据,即平面上已知一组(二维)数据,即平面上 n个点个点(xi,yi)i=1,n, 寻求一个函数(曲线)寻求一个函数(曲线)y=f(x), 使使 f(x) 在某种准则下与所有在某种准则下与所有数据点最为接近,即曲线拟合得最好。数据点最为接近,即曲线拟合得最好。 +xyy=f(x)(xi,yi)i i为点为点(xi,yi)与与曲线曲线 y=f(x)的距离的距离拟合与插值的关系拟合与插值的关系 函数插值与曲线拟合都是要根据一组数据构造一个函数作函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学

52、方法上是完全不同为近似,由于近似的要求不同,二者的数学方法上是完全不同的。的。实例:实例:下面数据是某次实验所得,希望得到X和 f之间的关系?MATLAB(cn)问题:问题:给定一批数据点,需确定满足特定要求的曲线或曲面解决方案:解决方案:若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就是数据拟合数据拟合,又称曲线拟合或曲面拟合。若要求所求曲线(面)通过所给所有数据点,就是插值问题插值问题;最临近插值、线性插值、样条插值与曲线拟合结果:最临近插值、线性插值、样条插值与曲线拟合结果:曲线拟合问题最常用的解法曲线拟合问题最常用的解法线性最小二乘法的基本思路线性最小二乘法的基

53、本思路第一步: :先选定一组函数先选定一组函数 r1(x),r2(x),rm(x),m0)k(0)模型假设模型假设1. 1. 机体看作一个房室,室内血药浓度均匀机体看作一个房室,室内血药浓度均匀一室模型一室模型模型建立模型建立在此,在此,d=300mg,t及及c(t)在某些点处的值见前表,)在某些点处的值见前表,需经拟合求出参数需经拟合求出参数k、v用线性最小二乘拟合用线性最小二乘拟合c(t)MATLAB(lihe1)计算结果:计算结果:d=300;t=0.250.511.523468;c=19.2118.1515.3614.1012.899.327.455.243.01;y=log(c);a

54、=polyfit(t,y,1)k=-a(1)v=d/exp(a(2)程序:程序:用非线性最小用非线性最小二乘拟合二乘拟合c(t)给药方案给药方案设计设计cc2c10t 设每次注射剂量D, 间隔时间 血药浓度c(t) 应c1 c(t) c2 初次剂量D0 应加大给药方案记为:给药方案记为:2、1、计算结果:计算结果:给药方案:给药方案:c1=10,c2=25k=0.2347v=15.02故可制定给药方案:故可制定给药方案:即即:首次注射首次注射375mg,其余每次注射其余每次注射225mg,注射的间隔时间为注射的间隔时间为4小时。小时。估计水塔的流量估计水塔的流量2、解题思路、解题思路3、算法设

55、计与编程、算法设计与编程1、问题、问题 某居民区有一供居民用水的园柱形水塔,一般可以通过测量其水位来估计水的流量,但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量通常水泵每天供水一两次,每次约两小时.水塔是一个高12.2米,直径17.4米的正园柱按照设计,水塔水位降至约8.2米时,水泵自动启动,水位升到约10.8米时水泵停止工作表1 是某一天的水位测量记录,试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量流量估计的解题思路流量估计的解题思路拟合水位拟合水位时间函数时间函数确定流量

56、确定流量时间函数时间函数估计一天总用水量估计一天总用水量拟合水位拟合水位时间函数时间函数 测量记录看,一天有两个供水时段(以下称第1供水时段和第2供水时段),和3个水泵不工作时段(以下称第1时段t=0到t=8.97,第2次时段t=10.95到t=20.84和第3时段t=23以后)对第1、2时段的测量数据直接分别作多项式拟合,得到水位函数为使拟合曲线比较光滑,多项式次数不要太高,一般在36由于第3时段只有3个测量记录,无法对这一时段的水位作出较好的拟合 2、确定流量确定流量时间函数时间函数 对于第1、2时段只需将水位函数求导数即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作时段)的流量

57、拟合得到,并且将拟合得到的第2供水时段流量外推,将第3时段流量包含在第2供水时段内3、一天总用水量的估计一天总用水量的估计 总用水量等于两个水泵不工作时段和两个供水时段用水量之和,它们都可以由流量对时间的积分得到。算法设计与编程算法设计与编程1、拟合第拟合第1、2时段的水位,并导出流量时段的水位,并导出流量2、拟合供水时段的流量拟合供水时段的流量3、估计一天总用水量估计一天总用水量4、流量及总用水量的检验、流量及总用水量的检验 1、拟合第拟合第1时段的水位,并导出流量时段的水位,并导出流量 设t,h为已输入的时刻和水位测量记录(水泵启动的4个时刻不输入),第第1时段时段各时刻的流量可如下得:1

58、) c1=polyfit(t(1:10),),h(1:10),),3);); %用3次多项式拟合第1时段水位,c1输出3次多项式的系数2)a1=polyder(c1);); % a1输出多项式(系数为c1)导数的系数 3)tp1=0:0.1:9;x1=-polyval(a1,tp1); % x1输出多项式(系数为a1)在tp1点的函数值(取负后边为正值),即tp1时刻的流量 MATLAB(llgj1)4)流量函数为:流量函数为: 2、拟合第拟合第2时段的水位,并导出流量时段的水位,并导出流量 设t,h为已输入的时刻和水位测量记录(水泵启动的4个时刻不输入),第第2时段时段各时刻的流量可如下得:

59、1) c2=polyfit(t(10.9:21),h(10.9:21),3); %用3次多项式拟合第2时段水位,c2输出3次多项式的系数2) a2=polyder(c2); % a2输出多项式(系数为c2)导数的系数 3)tp2=10.9:0.1:21; x2=-polyval(a2,tp2); % x2输出多项式(系数为a2)在tp2点的函数值(取负后边为正值),即tp2时刻的流量MATLAB(llgj2)4)流量函数为:流量函数为: 3、拟合供水时段的流量拟合供水时段的流量 在第1供水时段(t=911)之前(即第1时段)和之后(即第2时段)各取几点,其流量已经得到,用它们拟合第1供水时段的

60、流量为使流量函数在t=9和t=11连续,我们简单地只取4个点,拟合3次多项式(即曲线必过这4个点),实现如下: xx1=-polyval(a1,8 9); %取第1时段在t=8,9的流量 xx2=-polyval(a2,11 12); %取第2时段在t=11,12的流量 xx12=xx1 xx2; c12=polyfit(8 9 11 12,xx12,3); %拟合3次多项式 tp12=9:0.1:11; x12=polyval(c12,tp12); % x12输出第1供水时段 各时刻的流量MATLAB(llgj3)拟合的流量函数为:拟合的流量函数为: 在第2供水时段之前取t=20,20.8两

61、点的流水量,在该时刻之后(第3时段)仅有3个水位记录,我们用差分得到流量,然后用这4个数值拟合第2供水时段的流量如下: dt3=diff(t(22:24)); %最后3个时刻的两两之差 dh3=diff(h(22:24)); %最后3个水位的两两之差 dht3=-dh3./dt3; %t(22)和t(23)的流量 t3=20 20.8 t(22) t(23); xx3=-polyval(a2,t3(1:2),dht3); %取t3各时刻的流量 c3=polyfit(t3,xx3,3); %拟合3次多项式 t3=20.8:0.1:24; x3=polyval(c3,tp3);% x3输出第2供水

62、时段 (外推至t=24)各时刻的流量MATLAB(llgj4)拟合的流量函数为:拟合的流量函数为: 3、一天总用水量的估计一天总用水量的估计 第1、2时段和第1、2供水时段流量的积分之和,就是一天总用水量虽然诸时段的流量已表为多项式函数,积分可以解析地算出,这里仍用数值积分计算如下: y1=0.1*trapz(x1); %第1时段用水量(仍按高 度计),0.1为积分步长 y2=0.1*trapz(x2); %第2时段用水量 y12=0.1*trapz(x12); %第1供水时段用水量 y3=0.1*trapz(x3); %第2供水时段用水量 y=(y1+y2+y12+y3)*237.8*0.0

63、1; %一天总用水量( )计算结果:计算结果:y1=146.2, y2=266.8, y12=47.4, y3=77.3,y=1250.4MATLAB(llgjz) 4、流量及总用水量的检验流量及总用水量的检验 计算出的各各时时刻刻的的流流量量可用水位记录的数值微分来检验用水量y1可用第1时段水位测量记录中下降高度968-822=146来检验,类似地,y2用1082-822=260检验供供水水时时段段流流量量的一种检检验验方方法法如下:供水时段的用水量加上水位上升值260是该时段泵入的水量,除以时段长度得到水泵的功率(单位时间泵入的水量),而两个供水时段水泵的功率应大致相等第1、2时段水泵的功

64、率可计算如下: p1=(y12+260)/2; %第1供水时段水泵的功率 (水量仍以高度计) tp4=20.8:0.1:23; xp2=polyval(c3,tp4); % xp2输出第2供水时段 各时刻的流量 p2=(0.1*trapz(xp2)+260)/2.2; %第2供水时段水泵的功率 (水量仍以高度计)计算结果计算结果:p1=154.5 ,p2=140.1MATLAB(ll)计算结果计算结果流量函数为:流量函数为:流量曲线见图流量曲线见图n=(3,4)n=(5,6)练习练习1用给定的多项式,如y=x3-6x2+5x-3,产生一组数据(xi,yi,i=1,2,n),再在yi上添加随机干

65、扰(可用rand产生(0,1)均匀分布随机数,或用rands产生N(0,1)分布随机数),然后用xi和添加了随机干扰的yi作的3次多项式拟合,与原系数比较。 如果作2或4次多项式拟合,结果如何?练习练习2、用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为 ,其中V0是电容器的初始电压, 是充电常数。试由下面一组t,V数据确定V0, 。用非线性最小二乘拟合用非线性最小二乘拟合c(t)-用用lsqcurvefit2、主程序、主程序lihe2.m如下如下cleartdata=0.250.511.523468;cdata=19.2118.1515.3614.1012.899.327.455.243.01;x0=10,0.5;x=lsqcurvefit(curvefun3,x0,tdata,cdata);f=curvefun3(x,tdata)xMATLAB(lihe2)1 1、用、用M-M-文件文件curvefun3.m定义函数定义函数functionf=curvefun3(x,tdata)d=300f=(x(1)d)*exp(-x(2)*tdata)%x(1)=v;x(2)=k 结束语结束语谢谢大家聆听!谢谢大家聆听!132

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号