收藏 分销(赏)

数学实验和Matlab省公共课一等奖全国赛课获奖课件.pptx

上传人:精*** 文档编号:3306880 上传时间:2024-07-01 格式:PPTX 页数:87 大小:995.76KB
下载 相关 举报
数学实验和Matlab省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共87页
数学实验和Matlab省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共87页
数学实验和Matlab省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共87页
数学实验和Matlab省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共87页
数学实验和Matlab省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共87页
点击查看更多>>
资源描述

1、数学试验与数学试验与Matlab 杜杜 睿睿东南大学数学系东南大学数学系第1页 MATLAB是一个交互式以矩阵为基础系统计算平台,它用于科学和工程计算与可视化。Matlab含义是矩阵试验室(Matrix Laboratory),是美国Math Work企业于1982年推出一套高性能数值计算和可视化软件,它集数值分析、矩阵计算、信号处理和图数值分析、矩阵计算、信号处理和图形显示形显示于一体,已发展成为国际上最优异科技应用软件之一。Matlab软件介绍软件介绍 矩阵矩阵是是MATLAB关键关键.第2页目目 录录试验一:矩阵运算与试验一:矩阵运算与Matlab命令命令;试验二:函数可视化与试验二:函

2、数可视化与Matlab作图作图;试验三:插值和拟和试验三:插值和拟和;试验四:微分、积分和常微分方程试验四:微分、积分和常微分方程;试验五:最优化方法试验五:最优化方法;怎样撰写数学建模论文怎样撰写数学建模论文.第3页实实 验验 一一 矩阵运算与矩阵运算与Matlab命令命令第4页Matlab基本指令基本指令向量创建和运算向量创建和运算第5页1.直接输入向量直接输入向量x1=1 2 4,x2=1,2,1,x3=x12.冒号创建向量冒号创建向量 x1=3.4:6.7,x2=3.4:2:6.7,x3=2.6:-0.8:0第6页 3.生成线性等分向量生成线性等分向量指令指令x=linspace(a,

3、b,n)在在a,b区间产区间产生生 n 个等分点个等分点(包含端点包含端点)比如:比如:x=linspace(0,1,5)结果结果 x=0 0.2500 0.5000 0.7500 1.0000第7页工作空间工作空间在在Matlab窗口创建向量后并运行后,窗口创建向量后并运行后,向量就存在于工作空间向量就存在于工作空间(Workspace),能够被调用。),能够被调用。第8页 向量运算向量运算 设设三三维维向向量量x=x1 x2 x3;y=y1 y2 y3;,a,b为标量。为标量。向量向量数乘数乘:a*x=a*x1 a*x2 a*x3向量向量平移平移:x+b=x1+b x2+b x3+b向量向

4、量和和:x+y=x1+y1 x2+y2 x3+y3向量向量差差:x-y=x1-y1 x2-y2 x3-y3 第9页向量对应元素运算向量对应元素运算x.*y=x1*y1 x2*y2 x3*y3 (乘积乘积)x./y=x1/y1 x2/y2 x3/y3 (右右除除,右右边边y做分母做分母)x.y=y1/x1 y2/x2 y3/x3 (左左除除,左左边边x做分母做分母)x.5=x15 x25 x35 (乘幂乘幂)2.x=2x1 2x2 2x3x.y=x1y1 x2y2 x3y3第10页函数计算函数计算Matlab有有许许多多内内部部函函数数,可可直直接接作作用用于于向量产生一个同维函数向量。向量产生

5、一个同维函数向量。如如:x=linspace(0,4*pi,100);(产产生生100维向量维向量x)y=sin(x);(y也自动为也自动为100维向量维向量)y1=sin(x).2;y2=exp(-x).*sin(x);观察结果观察结果第11页创建矩阵(数值矩阵创建)创建矩阵(数值矩阵创建)直接输入法创建简单矩阵。直接输入法创建简单矩阵。A=1 2 3 4;5 6 7 8;9 10 11 12 B=-1.3,sqrt(3);(1+2)*4/5,sin(5);exp(2),6 观察运行结果观察运行结果 A=1 2 3 4 5 6 7 8 9 10 11 12 B=-1.3000 1.7321

6、2.4000 -0.9589 7.3891 6.0000第12页矩阵运算矩阵运算(矩阵加减、数乘、乘积等矩阵加减、数乘、乘积等)A,A_trans=AH=1 2 3;2 1 0;1 2 3,K=1 2 3;2 1 0;2 3 1h_det=det(H),k_det=det(K),H_inv=inv(H),K_inv=K-1第13页矩阵运算矩阵运算(左除和右除左除和右除)左除左除“”:求矩阵方程求矩阵方程AX=B解;(解;(A、B行要保持一致)行要保持一致)解为解为 X=AB;当当A为方阵且可逆时有为方阵且可逆时有X=AB=inv(A)*B;右除右除“/”:求矩阵方程求矩阵方程XA=B解解 (A

7、、B列要保持一致)列要保持一致)解为解为 X=B/A,当当A为方阵且可逆时有为方阵且可逆时有X=B/A=B*inv(A)第14页矩阵运算矩阵运算(左除和右除左除和右除)例例1:求矩阵方程:求矩阵方程:设设A、B满足关系式:满足关系式:AB2B+A,求求B。其中其中A=3 0 1;1 1 0;0 1 4。解解:有:有(A-2I)BA 程序程序:A=3 0 1;1 1 0;0 1 4;B=inv(A-2*eye(3)*A,B=(A-2*eye(3)A 观察结果:观察结果:第15页分块矩阵分块矩阵(矩阵标识矩阵标识)例例2 取取出出A1、3行行和和1、3列列交交叉叉处处元元素素组组成新矩阵成新矩阵A

8、1。解:程序解:程序A=1 0 1 1 2;0 1-1 2 3;3 0 5 1 0;2 3 1 2 1,vr=1,3;vc=1,3;A1=A(vr,vc)观察结果观察结果第16页分块矩阵分块矩阵(矩阵标识矩阵标识)例例3 将将A分分为为四四块块,并并把把它它们们赋赋值值到到矩矩阵阵B中,观察运行后结果。中,观察运行后结果。解:程序解:程序nA11=A(1:2,1:2),A12=A(1:2,3:5),nA21=A(3:4,1:2),A22=A(3:4,3:5)nB=A11 A12;n A21 A22 运行结果运行结果第17页分块矩阵分块矩阵(矩阵修改和提取)(矩阵修改和提取)例例4(1)修改矩阵

9、)修改矩阵A,将它第,将它第1行变为行变为0。解:程序:解:程序:A=1 0 1 1 2;0 1-1 2 3;3 0 5 1 0;2 3 1 2 1 A(1,:)=0 0 0 0 0;A (2)删除上面矩阵)删除上面矩阵A第第1、3行。行。程序:程序:n A(1,3,:)=第18页生成特殊矩阵生成特殊矩阵 全1阵 ones(n),ones(m,n),ones(size(A)全零阵:zeros(n),zeros(m,n),zeros(size(A)经常用于对某个矩阵或向量赋0初值单位阵:eye(n),eye(m,n)随机阵:rand(m,n),rand(n)=rand(n,n)用于随机模拟,常和

10、rand(seed,k)配合使用。第19页惯用矩阵函数惯用矩阵函数det(A):方阵行列式;方阵行列式;rank(A):矩阵秩;矩阵秩;eig(A):方阵特征值和特征向量;方阵特征值和特征向量;trace(A):矩阵迹;矩阵迹;rref(A):初等变换阶梯化矩阵初等变换阶梯化矩阵Asvd(A):矩阵奇异值分解。矩阵奇异值分解。第20页分块矩阵分块矩阵(矩阵标识矩阵标识)1.矩阵元素标识矩阵元素标识:A(i,j)表示矩阵表示矩阵A 第第 i 行行 j 列元素;列元素;2.向量标识方式向量标识方式 A(vr,vc):vr=i1,i2,ik、vc=j1,j2,ju分分别别是含有矩阵是含有矩阵A行号和

11、列号单调向量。行号和列号单调向量。A(vr,vc)是是取取出出矩矩阵阵A第第i1,i2,ik行行与与j1,j2,ju列交叉处元素所组成新矩阵。列交叉处元素所组成新矩阵。第21页数据简单分析数据简单分析1.当当数数据据为为行行向向量量或或列列向向量量时时,函函数数对对整整个向量个向量进行计算进行计算.2.当当数数据据为为矩矩阵阵时时,命命令令对对列列进进行行计计算算,即即把把每每一一列列数数据据当当成成同同一一变变量量不不一一样样观观察察值。值。惯用命令:惯用命令:max(求求最最大大)、min(求求最最小小)、mean(求求平平均均值值)、sum(求求 和和)、std(求求 标标 准准 差差)

12、、cumsum(求求累累积积和和)、median(求求中中值值)、diff(差差分分)、sort(升升序序排排列列)、sortrows(行行升序排列升序排列)等等等等。第22页数据简单分析数据简单分析例例5 观观察察:生生成成一一个个36随随机机数数矩矩阵阵,并并将将其其各各列列排排序序、求求各各列列最最大大值值与与各各列列元元素素之之和。和。解:程序解:程序nA=rand(3,6),nAsort=sort(A),nAmax=max(A),nAsum=sum(A)观察结果观察结果第23页实实 验验 二二函数可视化与函数可视化与Matlab作图作图第24页绘制平面曲线绘制平面曲线(plot指令指

13、令)plot(x,y):n以以x为横坐标、为横坐标、y为纵坐标绘制二维图形为纵坐标绘制二维图形nx,y是同维数向量;是同维数向量;plot(y):n相当于相当于x=1,2,length(y)时情形。时情形。第25页函数可视化函数可视化问:问:f(x),g(x)是周期函数吗?观察它们图象。是周期函数吗?观察它们图象。解:程序解:程序clf,x=linspace(0,8*pi,100);y1=sin(x+cos(x+sin(x);y2=0.2*x+sin(x+cos(x+sin(x);plot(x,y1,k:,x,y2,k-)legend(sin(x+cos(x+sin(x),0.2x+sin(x

14、+cos(x+sin(x),2)例例1 令令第26页绘制平面曲线绘制平面曲线(绘制多个图形(绘制多个图形)1.plot(x,y1;y2;),n x是是横横坐坐标标向向量量,y1;y2;是是由由若若干干函函数数纵坐标拼成矩阵;纵坐标拼成矩阵;2.plot(x1,y1),hold on,plot(x2,y2),hold off3.plot(x1,y1,x2,y2,)4.plotyyn两个坐标系,用于绘制不一样尺度函数。两个坐标系,用于绘制不一样尺度函数。第27页绘制平面曲线绘制平面曲线(线型、点形和颜色控制)(线型、点形和颜色控制)(线型、点形和颜色控制)(线型、点形和颜色控制)plot(x,y,

15、颜色线型点形颜色线型点形)plot(x,y,颜颜色色线线型型点点形形,x,y,颜色线型点形颜色线型点形,)句句柄柄图图形形和和set命命令令改改变变属属性性值值,可可套套用:用:nh=plot(x,y),set(h,属属性性,属属性性值值,属属性性,属属性性值值,)n或或plot(x,y,属属性性,属属性性值值)设设置置图图形形对对象属性。象属性。第28页绘制平面曲线绘制平面曲线(属性变量和属性值)(属性变量和属性值)(属性变量和属性值)(属性变量和属性值)n线宽:线宽:LineWidthn点大小:点大小:MarkerSizen线型:线型:LineStylen颜色:颜色:Color第29页绘制

16、平面曲线绘制平面曲线(例)(例)(例)(例)程序程序nh=plot(0:0.1:2*pi,sin(0:0.1:2*pi);nset(h,LineWidth,5,color,red);ngrid on观察结果观察结果第30页绘制平面曲线绘制平面曲线(坐标轴控制)(坐标轴控制)(坐标轴控制)(坐标轴控制)grid on 指令为图形窗口加上网格线指令为图形窗口加上网格线axis指令指令 axis(xmin xmax ymin ymax):设定二维图形设定二维图形x和和y坐标范围;坐标范围;axis(xmin xmax ymin ymax zmin zmax):设定三维图形坐标范围设定三维图形坐标范围

17、;其其中中xminxxmax,yminyymax,zminzzmax。第31页绘制平面曲线绘制平面曲线(文字标注)(文字标注)(文字标注)(文字标注)title(图形标题图形标题);xlabel(x轴轴名名称称);ylabel(y轴轴名名称称););zlabel(z轴名称轴名称););text(说明文字说明文字):创建说明文字;:创建说明文字;gtext(说说明明文文字字):用用鼠鼠标标在在特特定定位位置置输输入入文文字。字。文字标注惯用符号:文字标注惯用符号:pi(););alpha(););beta(););leftarrow(左箭头)(左箭头)rightarrow(右箭头);(右箭头);

18、bullet(点号)(点号)第32页图形窗口创建和分割图形窗口创建和分割 subplot(m,n,k)命令命令 在在图图形形区区域域中中显显示示多多个个图图形形窗窗口口,m为为上上下下分分割数,割数,n为左右分割数,为左右分割数,k为第为第k子图编号。子图编号。例例:将将一一个个图图形形分分为为4个个子子图图,在在第第k个个子子图图画画sin(kx)图象图象.程序:程序:clf,b=2*pi;x=linspace(0,b,50);for k=1:4 y=sin(k*x);subplot(2,2,k),plot(x,y),axis(0,2*pi,-1,1)end第33页若干有用指令若干有用指令c

19、lf:去除图形窗口已经有内容:去除图形窗口已经有内容.shg:显示图形窗口。:显示图形窗口。clear、clear x:去去除除工工作作空空间间已已经经有变量。有变量。figure(n):打开第打开第n个图形窗口个图形窗口 help:续行号续行号第34页绘制二元函数绘制二元函数z=f(x,y)基本步骤:基本步骤:1.生成二维网格点生成二维网格点 2.计算函数在网格点上值计算函数在网格点上值 3.绘制函数图形绘制函数图形第35页1.meshgrid指令:生成网格点指令:生成网格点观察观察meshgrid指令效果。指令效果。程序:程序:a=-3;b=3;c=-3;d=3;n=10;x=linspa

20、ce(a,b,n);y=linspace(c,d,n);X,Y=meshgrid(x,y);plot(X,Y,+)观察结果观察结果第36页2.计算函数值计算函数值 如,如,z=peaks(X,Y);3.绘图指令绘图指令mesh(X,Y,z):n在三维空间中绘出由在三维空间中绘出由(X,Y,z)表示曲面表示曲面;meshz(X,Y,z):n除了含有除了含有mesh功效外,还画出上下高度线,功效外,还画出上下高度线,meshc(X,Y,z):n除除了了含含有有mesh功功效效外外,还还在在曲曲面面下下方方画画出出函函数数z=f(x,y)等值线图,等值线图,surf(X,Y,z):n也也是是三三维维

21、绘绘图图指指令令,与与mesh区区分分在在于于mesh绘绘出出彩彩色色线,线,surf绘出彩色面,绘出彩色面,第37页三维绘图三维绘图(等值线指令(等值线指令)contour(X,Y,z,n):nn条等高线,条等高线,n可缺省;可缺省;contourf(X,Y,z,n):n等值线间用不一样颜色填满,有更加好视觉效果;等值线间用不一样颜色填满,有更加好视觉效果;contour3(X,Y,z,n):n在三维空间画出等值线图;在三维空间画出等值线图;colorbar:n将颜色与函数值对应起来显示在图中将颜色与函数值对应起来显示在图中。第38页空间曲线和运动方向表现空间曲线和运动方向表现一条空间曲线能

22、够用矢量函数表示为一条空间曲线能够用矢量函数表示为n它速度矢量表现为曲线切矢量:第39页绘制空间曲线(指令)绘制空间曲线(指令)plot3(x,y,z):n绘制三维空间曲线,使用方法和绘制三维空间曲线,使用方法和plot类似。类似。quiver(X,Y,u,v):绘制二维矢量,:绘制二维矢量,n在坐标矩阵点在坐标矩阵点X,Y处绘制矢量处绘制矢量u,v,其中其中u为矢量为矢量x坐标,坐标,v为矢量为矢量y 坐标,其维数大于坐标,其维数大于2。quiver3(X,Y,Z,u,v,w):):n绘制三维矢量,使用方法与绘制三维矢量,使用方法与quiver类似。类似。gradient:n Fx,Fy,F

23、z=gradient(F)为函数为函数F数值梯度数值梯度第40页空间曲线和运动方向表现空间曲线和运动方向表现n很显然飞行曲线方程为:程序:程序:t=linspace(0,1.5,20);x=t.2;y=(2/3)*t.3;z=(6/4)*t.4-(1/3)*t.3;plot3(x,y,z,r.-,linewidth,1,markersize,10),hold on Vx=gradient(x);Vy=gradient(y);Vz=gradient(z);h=quiver3(x,y,z,Vx,Vy,Vz);set(h,linewidth,1),grid on axis(0 1.5 0 1.5 0

24、 40)xlabel(x),ylabel(y),zlabel(z),box on,hold off第41页 插值和拟和插值和拟和 实实 验验 三三第42页机床加工问题机床加工问题用程控铣床加工机翼断面下轮廓线时用程控铣床加工机翼断面下轮廓线时每一刀只能沿每一刀只能沿x方向和方向和y方向走非常小一步。方向走非常小一步。表表3-1给出了下轮廓线上部分数据给出了下轮廓线上部分数据但工艺要求铣床沿但工艺要求铣床沿x方向每次只能移动方向每次只能移动0.1单位单位.这时需求出当这时需求出当x坐标每改变坐标每改变0.1单位时单位时y坐标。坐标。试完成加工所需数据,画出曲线试完成加工所需数据,画出曲线.第43

25、页插值插值n已知有已知有n+1个节点(个节点(xj,yj),),j=0,1,n,其中其中xj互不相同,节点互不相同,节点(xj,yj)可看成由某个函可看成由某个函数数 y=f(x)产生;)产生;n结构一个相对简单函数结构一个相对简单函数 y=P(x);n使使P经过全部节点,经过全部节点,即即 P(xk)=yk,k=0,1,n;n用用P(x)作为作为 函数函数f(x)近似。近似。第44页yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xixi处插值处插值结果结果nearest :最邻近插值:最邻近插值linear :线性插值;线性插值;splin

26、e :三次样条插三次样条插值;值;cubic :立方插值。立方插值。缺省时:缺省时:线性插值。线性插值。注意:全部插值方法都要求注意:全部插值方法都要求x x是单调,而且是单调,而且xi不能够不能够超出超出x范围。范围。用用MATLABMATLAB作一维插值计算作一维插值计算第45页例:求解机床加工问题例:求解机床加工问题x0=0 3 5 7 9 11 12 13 14 15;y0=0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6;x=0:0.1:15;y=interp1(x0,y0,x,spline);plot(x0,y0,k+,x,y,r)grid on第46页

27、要求要求x0,y0 x0,y0单调;单调;x x,y y可取可取为矩阵,或为矩阵,或x x取取行向量,行向量,y y取为列向量,取为列向量,x,yx,y值分别不能超出值分别不能超出x0,y0 x0,y0范围。范围。z=interp2(x0,y0,z0,x,y,method)被插值点插值方法插值节点被插值点函数值nearest nearest 最邻近插值最邻近插值linear linear 双线性插值双线性插值cubic cubic 双三次插值双三次插值缺省时缺省时,双线性插值双线性插值用用MATLABMATLAB作网格节点数据插值作网格节点数据插值(二维二维)第47页 cz=griddata(

28、x,y,z,cx,cy,method)要求要求cxcx取行向量,取行向量,cycy取为列向量取为列向量。被插值点插值方法插值节点被插值点函数值nearest nearest 最邻近插值最邻近插值linear linear 双线性插值双线性插值cubic cubic 双三次插值双三次插值v4 Matlab提供插值方法提供插值方法缺省时缺省时,双线性插值双线性插值用用MATLABMATLAB作散点数据插值计算作散点数据插值计算第48页例例:航行区域警示线航行区域警示线某海域上频繁地有各种吨位船只经过。为确保船只航行安全,相关机构在低潮时对水深进行了测量,表3-8是他们提供测量数据:n表3-8.水道

29、水深测量数据x 129.0 140.0 103.5 88.0 185.5 195.0 105.5y 7.5 141.5 23.0 147.0 22.5 137.5 85.5z 4 8 6 8 6 8 8x 157.5 107.5 77.0 81.0 162.0 162.0 117.5y-6.5 -81.0 3.0 56.5 -66.5 84.0 -33.5z 9 9 8 8 9 4 9第49页航行区域警示线航行区域警示线其中(其中(x,y)为测量点,)为测量点,z为(为(x,y)处水深)处水深(英英尺尺),水深,水深z是区域坐标(是区域坐标(x,y)函数)函数z=z(x,y),),船吨位能够用

30、其吃水深度来反应,分为船吨位能够用其吃水深度来反应,分为 4英尺、英尺、4.5英尺、英尺、5英尺和英尺和 5.5英尺英尺 4 档。档。航运部门要在矩形海域(航运部门要在矩形海域(75,200)(50,150)上为不一样吨位航船设置警示标识。)上为不一样吨位航船设置警示标识。请依据测量数据描述该海域地貌,并绘制不一请依据测量数据描述该海域地貌,并绘制不一样吨位警示线,供航运部门使用。样吨位警示线,供航运部门使用。第50页Matlab求解求解x=129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5;y=7.5 141.5

31、23 147 22.5 137.5 85.5-6.5-81 3 56.5-66.5 84-33.5;z=-4-8-6-8-6-8-8-9-9-8-8-9-4-9;cx=75:0.5:200;cy=-70:0.5:150;cz=griddata(x,y,z,cx,cy,cubic);meshz(cx,cy,cz),xlabel(X),ylabel(Y),zlabel(Z)figure(2),contour(cx,cy,cz,-5-5);grid on,hold onplot(x,y,+)xlabel(X),ylabel(Y)第51页曲线拟合曲线拟合 已知一组(二维)数据,即平面上已知一组(二维)

32、数据,即平面上 n个点个点(xi,yi)i=1,n,寻求一个函数(曲线)寻求一个函数(曲线)y=f(x),使使 f(x)在某种准则在某种准则下与全部数据点最为靠近,即曲线拟合得最好。下与全部数据点最为靠近,即曲线拟合得最好。+xyy=f(x)(xi,yi)i i 为点为点(xi,yi)与与曲线曲线 y=f(x)距离距离最惯用方法是线性最小二乘拟和最惯用方法是线性最小二乘拟和第52页多项式拟合多项式拟合n对给定数据(对给定数据(xj,yj),),j=0,1,n;n选取适当阶数多项式,如二次多项式选取适当阶数多项式,如二次多项式g(x)=ax2+bx+c;n使使g(x)尽可能迫近(拟合)这些数据,

33、不尽可能迫近(拟合)这些数据,不过不要求经过给定数据(过不要求经过给定数据(xj,yj););第53页1.1.多项式多项式f(x)=a1xm+amx+am+1拟合指令拟合指令:a=polyfit(x,y,m)2.2.多项式在多项式在x x处值处值y y计算命令:计算命令:y=y=polyvalpolyval(a,xa,x)输出拟合多项式系数输出拟合多项式系数a=a1,am,am+1(数组)数组)输入同长度输入同长度数组数组X,Y拟合多项式拟合多项式次数次数多项式拟合指令多项式拟合指令第54页即要求出二次多项式即要求出二次多项式:中中 使得使得:例例 对下面一组数据作二次多项式拟合对下面一组数据

34、作二次多项式拟合xi00.10.20.30.40.50.60.70.80.91yi-0.4471.9783.286.166.167.347.669.589.489.3011.2第55页2)计算结果:)计算结果:=-9.8108,20.1293,-0.0317解:解:用多项式拟合命令用多项式拟合命令1)输入命令:)输入命令:x=0:0.1:1;y=-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.30,11.2;A=polyfit(x,y,2)z=polyval(A,x);plot(x,y,k+,x,z,r)%作出数据点和拟合曲线图形作出数据点和

35、拟合曲线图形第56页可化为多项式非线性拟和可化为多项式非线性拟和普通非线性最小二乘拟和普通非线性最小二乘拟和,实际上是无约实际上是无约束最优化问题束最优化问题命令:命令:lsqcurvefit、lsqnonlin等等第57页 微微分分、积积分分和和常常微微分分方程方程试验四试验四第58页数值积分惯用方法数值积分惯用方法(1)用不定积分计算定积分:)用不定积分计算定积分:牛牛顿顿莱莱布布尼尼兹兹公公式式,不不过过有有时时得得不不到原函数;到原函数;(2)定义法,取近似和极限:)定义法,取近似和极限:n高等数学中不是重点内容高等数学中不是重点内容n但数值积分各种算法却是基于定义建立但数值积分各种算

36、法却是基于定义建立 第59页数值微积分数值微积分(梯形公式和辛普森公式梯形公式和辛普森公式)trapz(x,y),按梯形公式计算近似积分;,按梯形公式计算近似积分;其中步长x=x0 x1 xn和函数值y=f0 f1 fn为同维向量;q=quad(fun,a,b,tol,trace,P1,P2,.)(低阶方法,辛普森自适应递归法求积分)(低阶方法,辛普森自适应递归法求积分)q=quad8(fun,a,b,tol,trace,P1,P2,.)(高高阶方法,自适应法阶方法,自适应法Cotes求积分)求积分)在一样精度下高阶方法在一样精度下高阶方法quad8要求节点较少。要求节点较少。第60页例:数值

37、积分例:数值积分X=0:pi/100:pi;Y=sin(X);Z1=trapz(X,Y)Z2=quad(sin,0,pi)Z1=1.998z2=2.0000第61页求解常微分方程求解常微分方程第62页一阶常微分方程数值解法一阶常微分方程数值解法x,y=ode23(fun,tspan,y0,option)(低阶龙格库塔函数)(低阶龙格库塔函数)x,y=ode45(fun,tspan,y0,option)(高阶龙格库塔函数)(高阶龙格库塔函数)其中,(1)tspan=t0,tf,t0、tf为自变量初值和终值 (2)option用于设定误差限(缺省时设定相对误差10-3,绝对误差10-6),命令为:

38、options=odeset (reltol,rt,abstol,at),rt,at:分别为设定相对误差和绝对误差.第63页 1、在解、在解n个未知函数方程组时,个未知函数方程组时,x0和和x均为均为n维向量,维向量,m-文件中待解方程组应文件中待解方程组应以以x分量形式写成分量形式写成.2、使用、使用Matlab软件求数值解时,高软件求数值解时,高阶微分方程必须等价地变换成一阶微分阶微分方程必须等价地变换成一阶微分方程组方程组.注意注意:第64页 设位于坐标原点甲舰向位于设位于坐标原点甲舰向位于x轴上点轴上点A(1,0)处乙舰发射导弹,导弹头一直对准乙舰。处乙舰发射导弹,导弹头一直对准乙舰。

39、假如乙舰以最大速度假如乙舰以最大速度v0(是常数是常数)沿平行于沿平行于y轴轴直线行驶,直线行驶,导弹速度是导弹速度是5v0,(1)画出导弹运行曲线方程)画出导弹运行曲线方程.(2)乙舰行驶多远时,)乙舰行驶多远时,导弹将它击中?导弹将它击中?导弹追击问题第65页由由(1),(2)消去消去t整理得模型整理得模型:第66页1.建立建立m-文件文件eq1.m function dy=eq1(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=1/5*sqrt(1+y(1)2)/(1-x);2.取取x0=0,xf=0.9999,建立主程序,建立主程序ff6.m以下以下:x0=0,x

40、f=0.9999 x,y=ode23(eq1,x0 xf,0 0);plot(x,y(:,1),b.)hold on y=0:0.01:1;plot(1,y,b*)hold off 结论结论:导弹大致在(导弹大致在(1,0.2)处击中乙舰)处击中乙舰令y1=y,y2=y1,将方程(3)化为一阶微分方程组。第67页 最优化方法试验五第68页最优化方法最优化方法 许多生产计划与管理问题都能够归纳为最优许多生产计划与管理问题都能够归纳为最优化问题化问题,最优化模型是数学建模中应用最广泛模最优化模型是数学建模中应用最广泛模型之一型之一,其内容包含线性规划、整数线性规划、其内容包含线性规划、整数线性规划

41、、非线性规划、动态规划、变分法、最优控制等非线性规划、动态规划、变分法、最优控制等.近几年来全国大学生数学建模竞赛中,几乎近几年来全国大学生数学建模竞赛中,几乎每次都有一道题要用到此方法每次都有一道题要用到此方法.目标函数 约束条件 可行解域 第69页线性规划线性规划第70页用用MATLAB优化工具箱解线性规划优化工具箱解线性规划min z=cX 1、模型:命令:x=linprog(c,A,b)2、模型:min z=cX 命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=,b=.第71页3、模型:min z=cX VLBXVUB命令:1 x=linprog

42、(c,A,b,Aeq,beq,VLB,VUB)2 x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)注意:若没有等式约束:,则令Aeq=,beq=;其中X0表示初始点 4、命令:x,fval=linprog()返回最优解及处目标函数值返回最优解及处目标函数值fval.第72页解解:编写编写M文件文件xxgh2.m以下:以下:c=6 3 4;A=0 1 0;b=50;Aeq=1 1 1;beq=120;vlb=30,0,20;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)第73页 某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床

43、可用台时数分别为800和900,三种工件数量分别为400、600和500,且已知用三种不一样车床加工单位数量不一样工件所需台时数和加工费用以下表。问怎样分配车床加工任务,才能既满足加工工件要求,又使加工费用最低?例例(任务分配问题(任务分配问题)第74页解解 设在甲车床上加工工件1、2、3数量分别为x1、x2、x3,在乙车床上加工工件1、2、3数量分别为x4、x5、x6。可建立以下线性规划模型:第75页S.t.改写为:第76页编写编写M文件以下文件以下:f=13 9 10 11 12 8;A=0.4 1.1 1 0 0 0;0 0 0 0.5 1.2 1.3;b=800;900;Aeq=1 0

44、 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1;beq=400 600 500;vlb=zeros(6,1);vub=;x,fval=linprog(f,A,b,Aeq,beq,vlb,vub)第77页结果结果:x=0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval=1.3800e+004 即在甲机床上加工即在甲机床上加工600个工件个工件2,在乙机床上加工在乙机床上加工400个个工件工件1、500个工件个工件3,可在满足条件情况下使总加工费,可在满足条件情况下使总加工费最小为最小为13800。第78页 1.首先建立首先建

45、立M文件文件fun.m,定义目标函数定义目标函数F(X):function f=fun(X);f=F(X);非线性规划非线性规划 其中其中X为为n维变元向量,维变元向量,G(X)与与Ceq(X)均为非线性函数组均为非线性函数组 成向量成向量.用用Matlab求解上述问题,基本步骤分三步:求解上述问题,基本步骤分三步:第79页 3.建立主程序建立主程序.非线性规划求解函数是非线性规划求解函数是fmincon,命令基本格命令基本格式以下:式以下:(1)x=fmincon(fun,X0,A,b)(2)x=fmincon(fun,X0,A,b,Aeq,beq)(3)x=fmincon(fun,X0,A

46、,b,Aeq,beq,VLB,VUB)(4)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon)(5)x=fmincon(fun,X0,A,b,Aeq,beq,VLB,VUB,nonlcon,options)(6)x,fval=fmincon(.)输出极值点M文件迭代初值参数说明变量上下限注意:注意:fmincon函数可能会给出局部最优解,函数可能会给出局部最优解,这与初值这与初值X0选取相关。选取相关。第80页 1、写成标准形式写成标准形式:s.t.2x1+3x2 6 s.t x1+4x2 5 x1,x2 0例例3第81页2、先建立M-文件 fun3.m

47、:function f=fun3(x);f=-x(1)-2*x(2)+(1/2)*x(1)2+(1/2)*x(2)23、再建立主程序youh2.m:x0=1;1;A=2 3;1 4;b=6;5;Aeq=;beq=;VLB=0;0;VUB=;x,fval=fmincon(fun3,x0,A,b,Aeq,beq,VLB,VUB)4、运算结果为:运算结果为:x=0.7647 1.0588 fval=-2.0294第82页怎样撰写数学建模论文怎样撰写数学建模论文第83页什么是数学建模什么是数学建模?数学建模数学建模是利用数学方法处理实际问题一个实践。即经过抽象、简化、假设、引进变量等处理过程后,将实际

48、问将实际问题用数学方式表示题用数学方式表示,建立起数学模型,然后利用先进数学方法及计算机技术进利用先进数学方法及计算机技术进行求解行求解。第84页 在实际过程中用那一个方法建模主要是依据我们对研究对象了解程度和建模目标来决定。机理分析法建模详细步骤大致可见右图。符合实际不符合实际交付使用,从而可产生经济、社会效益实际问题抽象、简化、假设 确定变量、参数建立数学模型并数学、数值地求解、确定参数用实际问题实测数据等来检验该数学模型建模过程示意图第85页 怎样撰写数学建模论文?怎样撰写数学建模论文?1、摘要、摘要:问题、模型、方法、结问题、模型、方法、结果果2、问题重述、问题重述4、分析与建立模型、分析与建立模型5、模型求解、模型求解 (借助数学软件借助数学软件)6、模型检验、模型检验7、模型推广、模型推广8、参考文件、参考文件9、附录、附录实例实例3、模型假设、模型假设第86页第87页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服