MATLAB在数学建模中的应用.ppt
《MATLAB在数学建模中的应用.ppt》由会员分享,可在线阅读,更多相关《MATLAB在数学建模中的应用.ppt(131页珍藏版)》请在三一办公上搜索。
1、MATLAB软件及其在数学建模中的应用,求解结果发现规律模型验证讨论分析,计算在数学建模中的作用,数学建模中的计算,问题的分析,修正模型,粗假设,修正算法,结果分析,讨论推广,修正假设,粗模型,粗算法,发现问题,发现规律,模型验证,主要内容,Matlab软件简介 数学建模Matlab算法,MATLAB简介,MATLAB是MATrix LABoratory 的缩写,是由美国MathWorks公司开发的工程计算软件,迄今MATLAB已推出了6.5版.1984年MathWorks公司正式将MATLAB推向市场,从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功
2、能.在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件.在设计研究单位和工业部门,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的功能,MATLAB产品组是从支持概念设计、算法开发、建模仿真,到实时实现的集成环境,可
3、用来进行:数据分析数值与符号计算工程与科学绘图控制系统设计数字图像信号处理建模、仿真、原型开发财务工程、应用开发、图形用户界面设计,功能强大,MATLAB语言特点,编程效率高,允许用数学的语言来编写程序用户使用方便,把程序的编辑、编译、连接和执行融为一体高效方便的矩阵和数组运算语句简单,内涵丰富扩充能力强,交互性,开放性方便的绘图功能该软件由c语言编写,移植性好,语言简洁,学习该软件的必要性:目前,MATLAB软件不仅走入企业、公司和科研机构,而且在高等院校也是从大学生到博士生都必须掌握的一项基本技能,是必不可少的计算工具,。MATLAB功能:数值计算、符号运算和图形处理。,学习它的意义:随着
4、计算机科学和计算软件的发展,数学系学生必须掌握一门好的计算软件。这是我们就业、继续身造或做科研工作所要用到的。是当代大学生必备的一项技能。,其它计算软件:MATHEMATIC(数学分析问题的计算);LINGO(规划问题的计算)。可以说一个人掌握了一门计算软件,再学习其它计算软件就很容易。,MATLAB的环境,菜单项;工具栏;【Command Window】命令窗口;【Launch Pad】分类帮助窗口;【Workspace】工作区窗口;【Command History】指令历史记录窗口;【Current Directory】当前目录选择窗口;,MATLAB操作窗口,接受命令的窗口,MATLAB
5、在微积分中的应用,1、求函数值,例1 在命令窗口中键入表达式并求 时的函数值。,x=2,y=4z=x2+exp(x+y)-y*log(x)-3,x=2y=4z=401.6562,命令窗口显示结果:,例2 用循环语句编写M文件计算ex的值,其中x,n为输入变量,ex的近似表达式为,function y=e(x,n)y=1;s=1;for i=1:n s=s*i;y=y+xi/s;endy,y=e(1,100)ans=y y=2.7183,调用函数M文件,MATLAB在微积分中的应用,2、求极限,例3 求极限,syms n;limit(sqrt(n+sqrt(n)-sqrt(n),n,inf),a
6、ns=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.,定义符号变量,MATLAB在微积分中的应用,3、求导数,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为符号变量,求,Dif
7、ference:差分 Differential:微分的,syms x;y=log(1+x);a=diff(y,x,2)a=-1/(1+x)2 x=1;eval(a)ans=-0.2500,求,求,将符号表达式转换成数值表达式,例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),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*
8、exp(2*x)e=2*exp(2*x)*(2*y+2),MATLAB在微积分中的应用,4、求极值和零点,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,MATLAB在微积分中的应用,4、求极值和零点,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.0008FVAL=-2.5000,MATLAB在微积分中的应用,5、求积分,例9 求不定积分
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,例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
10、)ans=0.8556,变步长数值积分,梯形法数值积分,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,数值计算,MATLAB在微积分中的应用,6、解微分方程,例12 计算初值问题:,dsolve(Dy=x+y,y(0)=1,x),ans=-x-1+2*exp(x),一定要大写,MATLAB在微积分中的应用,7、级数问题,例13 求函数 的泰勒展开式,并计算该函数在x=3.42时的
11、近似值。,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,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,=AB,MATLAB在线性代数中的应用,1、矩阵的基本运算,例1 已知,inv(a)ans=0.1582-0.1013 0.0633-0.0886-0.0633 0.1646 0.0949 0.1392 0.0380,MATLAB在
12、线性代数中的应用,1、矩阵的基本运算,例1 已知,rank(a)ans=3,MATLAB在线性代数中的应用,1、矩阵的基本运算,例1 已知,a/bans=0 0 2.0000-2.7143-8.0000-8.1429 2.4286 3.0000 2.2857,MATLAB在线性代数中的应用,1、矩阵的基本运算,例1 已知,abans=0.4873 0.4114 1.0000 0.3671-0.4304 0-0.1076 0.2468 0,2、解线性方程组,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
13、 0 0 1,将矩阵A化为最简阶梯形,R(A)=4=n;所以方程组只有零解。,RREF Reduced row echelon form,2、解线性方程组,求齐次方程组的基础解系,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,所以方程组的一般解为,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/
14、1257 1-379/419-379/419 d=2 0 0 0 1 0 0 0 1,A的特征值为2,1,1,4、用正交变换化二次型为标准形,a=1 1 1 11 1 1 11 1 1 11 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.5000t=-0.0000 0 0 0 0-0.0000 0 0 0 0 0 0 0 0 0 4.0000,a=1 1 1 1;1 1 1 1;1 1 1 1
15、;1 1 1 1;format ratu 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.,4、用正交变换化二次型为标准形,结论:作正交变换,则有,上机实验题一、基础型实验1、计算下列极限,2、计算下列导数
16、(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;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
17、=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.,四.将下列矩阵化为阶梯矩阵,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.,五.求下列矩阵的
18、秩 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具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即方便又高效。,一、plot数据点绘图命令命令格式:plot(x,y)其中x和y为坐标向量命令功能:以向量x、y为轴,绘制曲线。【例1】在区
19、间0X2内,绘制正弦曲线Y=sin(x),其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y),1.二维图形,【例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轴,在同一幅图内绘制出多条曲线。,(一)线型与颜色格式:plot(x,y1,cs,.)其中c表示颜色,s表示线型。,【例3】用不同线型和颜色重新绘制例2图形
20、,其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,go,x,y2,b-.)其中参数go和b-.表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。,绘图基本线型和颜色,(二)图形标记在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。title(加图形标题);xlabel(加X轴标记);ylabel(加Y轴标记);text(X,Y,添加文本);,(三)设定坐标轴用户若对坐标系统不满意,可利用axis命令对其重新设定。axis(xmin x
21、max ymin ymax)设定最大和最小值axis(auto)将坐标系统返回到自动缺省状态axis(square)将当前图形设置为方形axis(equal)两个坐标因子设成相等axis(off)关闭坐标系统axis(on)显示坐标系统,【例4】在坐标范围0 x2,-2y2内重新绘制正弦曲线,其程序为:x=linspace(0,2*pi,60);%生成含有60个数据元素的向量xy=sin(x);plot(x,y);axis(0 2*pi-2 2);%设定坐标轴范围,(四)加图例给图形加图例命令为legend。该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。格式:l
22、egend(图例说明,图例说明);,【例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-3x确定的纵坐标y数组plot(x,y)%绘图grid on%给图形加上网格线axis equal%使x,y轴单位刻度相等,(一)subplot(m,n,p)该命令将当前图形窗口分成mn个绘图区,即每行n个,共m行,区
23、号按行优先编号,且选定第p个区为当前活动区。,二、subplot 并列绘图命令,【例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);su
24、bplot(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);,(二)figure 多图形窗口绘图命令需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、tit
25、le等许多命令也只对活动窗口有效。,重新绘制上例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;%创建新窗口并返回句柄到变量H1plot(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(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数学 建模 中的 应用
链接地址:https://www.31ppt.com/p-5439021.html