欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    用matlab解决插值问题.pptx

    • 资源ID:73999024       资源大小:977.34KB        全文页数:87页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    用matlab解决插值问题.pptx

    MATLAB是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。Matlab的含义是矩阵实验室(Matrix Laboratory),是美国Math Work公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵计算、信号处理和图形显示于一体,已发展成为国际上最优秀的科技应用软件之一。Matlab软件简介 矩阵是MATLAB的核心.第1页/共87页目目 录录实验一:矩阵运算与Matlab命令;实验二:函数可视化与Matlab作图;实验三:插值和拟和;实验四:微分、积分和常微分方程;实验五:最优化方法;如何撰写数学建模论文.第2页/共87页实 验 一 矩阵运算与Matlab命令第3页/共87页Matlab基本指令向量的创建和运算第4页/共87页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第5页/共87页 3.生成线性等分向量指令x=linspace(a,b,n)在a,b区间产生 n 个等分点(包括端点)例如:x=linspace(0,1,5)结果 x=0 0.2500 0.5000 0.7500 1.0000第6页/共87页工作空间工作空间在Matlab窗口创建向量后并运行后,向量就存在于工作空间(Workspace),可以被调用。第7页/共87页 向量的运算向量的运算 设三维向量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向量和:x+y=x1+y1 x2+y2 x3+y3向量差:x-y=x1-y1 x2-y2 x3-y3 第8页/共87页向量对应元素的运算向量对应元素的运算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第9页/共87页函数计算函数计算Matlab有许多内部函数,可直接作用于向量产生一个同维的函数向量。如:x=linspace(0,4*pi,100);(产生100维向量x)y=sin(x);(y也自动为100维向量)y1=sin(x).2;y2=exp(-x).*sin(x);观察结果第10页/共87页创建矩阵(数值矩阵的创建)创建矩阵(数值矩阵的创建)直接输入法创建简单矩阵。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 2.4000 -0.9589 7.3891 6.0000第11页/共87页矩阵的运算(矩阵的加减、数乘、乘积等)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第12页/共87页矩阵的运算(左除和右除)左除“”:求矩阵方程AX=B的解;(A、B的行要保持一致)解为 X=AB;当A为方阵且可逆时有X=AB=inv(A)*B;右除“/”:求矩阵方程XA=B的解 (A、B的列要保持一致)解为 X=B/A,当A为方阵且可逆时有X=B/A=B*inv(A)第13页/共87页矩阵的运算(左除和右除)例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 观察结果:第14页/共87页分块矩阵分块矩阵(矩阵的标识)例2 取出A的1、3行和1、3列的交叉处元素构成新矩阵A1。解:程序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)观察结果第15页/共87页分块矩阵分块矩阵(矩阵的标识)例3 将A分为四块,并把它们赋值到矩阵B中,观察运行后的结果。解:程序A11=A(1:2,1:2),A12=A(1:2,3:5),A21=A(3:4,1:2),A22=A(3:4,3:5)B=A11 A12;A21 A22 运行结果第16页/共87页分块矩阵分块矩阵(矩阵的修改和提取)例4(1)修改矩阵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行。程序:A(1,3,:)=第17页/共87页生成特殊矩阵生成特殊矩阵 全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)用于随机模拟,常和rand(seed,k)配合使用。第18页/共87页常用矩阵函数常用矩阵函数det(A):方阵的行列式;rank(A):矩阵的秩;eig(A):方阵的特征值和特征向量;trace(A):矩阵的迹;rref(A):初等变换阶梯化矩阵Asvd(A):矩阵奇异值分解。第19页/共87页分块矩阵分块矩阵(矩阵的标识)1.矩阵元素的标识:A(i,j)表示矩阵A 的第 i 行 j 列的元素;2.向量标识方式 A(vr,vc):vr=i1,i2,ik、vc=j1,j2,ju分别是含有矩阵A的行号和列号的单调向量。A(vr,vc)是取出矩阵A的第i1,i2,ik行与j1,j2,ju列交叉处的元素所构成新矩阵。第20页/共87页数据的简单分析数据的简单分析1.当数据为行向量或列向量时,函数对整个向量进行计算.2.当数据为矩阵时,命令对列进行计算,即把每一列数据当成同一变量的不同观察值。常用的命令:max(求最大)、min(求最小)、mean(求平均值)、sum(求和)、std(求标准差)、cumsum(求累积和)、median(求中值)、diff(差分)、sort(升序排列)、sortrows(行升序排列)等等。第21页/共87页数据的简单分析数据的简单分析例5 观察:生成一个36的随机数矩阵,并将其各列排序、求各列的最大值与各列元素之和。解:程序sort(使每一列从小到大排序)A=rand(3,6),Asort=sort(A),Amax=max(A),Asum=sum(A)观察结果第22页/共87页实 验 二函数可视化与Matlab作图第23页/共87页绘制平面曲线绘制平面曲线(plot(plot指令指令)plot(x,y):以x为横坐标、y为纵坐标绘制二维图形x,y是同维数的向量;plot(y):相当于x=1,2,length(y)时情形。第24页/共87页函数的可视化函数的可视化问:问: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+cos(x+sin(x),2)例例1 令令第25页/共87页绘制平面曲线绘制平面曲线(绘制多个图形)1.plot(x,y1;y2;),x是横坐标向量,y1;y2;是由若干函数的纵坐标拼成的矩阵;2.plot(x1,y1),hold on,plot(x2,y2),hold off3.plot(x1,y1,x2,y2,)4.plotyy两个坐标系,用于绘制不同尺度的函数。第26页/共87页绘制平面曲线绘制平面曲线(线型、点形和颜色的控制)(线型、点形和颜色的控制)plot(x,y,颜色线型点形)plot(x,y,颜色线型点形,x,y,颜色线型点形,)句柄图形和set命令改变属性值,可套用:h=plot(x,y),set(h,属性,属性值,属性,属性值,)或plot(x,y,属性,属性值)设置图形对象的属性。第27页/共87页绘制平面曲线绘制平面曲线(属性变量和属性值)(属性变量和属性值)n线宽:线宽:LineWidthn点的大小:点的大小:MarkerSizen线型:线型:LineStylen颜色:颜色:Color第28页/共87页绘制平面曲线绘制平面曲线(例)(例)程序h=plot(0:0.1:2*pi,sin(0:0.1:2*pi);set(h,LineWidth,5,color,red);grid on观察结果第29页/共87页绘制平面曲线绘制平面曲线(坐标轴的控制)(坐标轴的控制)grid on 指令为图形窗口加上网格线axis指令 axis(xmin xmax ymin ymax):设定二维图形的x和y坐标的范围;axis(xmin xmax ymin ymax zmin zmax):设定三维图形的坐标范围;其中xminxxmax,yminyymax,zminzzmax。第30页/共87页绘制平面曲线绘制平面曲线(文字标注)(文字标注)title(图形标题);xlabel(x轴名称);ylabel(y轴名称);zlabel(z轴名称);text(说明文字):创建说明文字;gtext(说明文字):用鼠标在特定位置输入文字。文字标注常用符号:pi();alpha();beta();leftarrow(左箭头)rightarrow(右箭头);bullet(点号)第31页/共87页图形窗口的创建和分割图形窗口的创建和分割 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第32页/共87页若干有用的指令若干有用的指令clf:清除图形窗口已有的内容.shg:显示图形窗口。clear、clear x:清除工作空间的已有变量。figure(n):打开第n个图形窗口 help:续行号第33页/共87页绘制二元函数绘制二元函数z=f(x,y)z=f(x,y)基本步骤:1.生成二维网格点 2.计算函数在网格点上的值 3.绘制函数图形第34页/共87页1.1.meshgrid指令:生成网格点观察meshgrid指令的效果。程序:a=-3;b=3;c=-3;d=3;n=10;x=linspace(a,b,n);y=linspace(c,d,n);X,Y=meshgrid(x,y);plot(X,Y,+)观察结果第35页/共87页2.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也是三维绘图指令,与mesh的区别在于mesh绘出彩色的线,surf绘出彩色的面,第36页/共87页三维绘图三维绘图(等值线指令)contour(X,Y,z,n):n条等高线,n可缺省;contourf(X,Y,z,n):等值线间用不同的颜色填满,有更好的视觉效果;contour3(X,Y,z,n):在三维空间画出等值线图;画单个等高线时 contour(cx,cy,cz,I I);colorbar:将颜色与函数值对应起来显示在图中。第37页/共87页空间曲线和运动方向的表现空间曲线和运动方向的表现一条空间曲线可以用矢量函数表示为n它的速度矢量表现为曲线的切矢量:第38页/共87页绘制空间曲线(指令)绘制空间曲线(指令)plot3(x,y,z):绘制三维空间曲线,用法和plot类似。quiver(X,Y,u,v):绘制二维矢量,在坐标矩阵点X,Y处绘制矢量u,v,其中u为矢量的x坐标,v为矢量的y 坐标,其维数不小于2。quiver3(X,Y,Z,u,v,w):绘制三维矢量,用法与quiver类似。gradient:Fx,Fy,Fz=gradient(F)为函数F数值梯度第39页/共87页空间曲线和运动方向的表现空间曲线和运动方向的表现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 40)xlabel(x),ylabel(y),zlabel(z),box on,hold off第40页/共87页 插值和拟和插值和拟和插值和拟和插值和拟和 实实 验验 三三第41页/共87页机床加工问题机床加工问题用程控铣床加工机翼断面的下轮廓线时用程控铣床加工机翼断面的下轮廓线时每一刀只能沿每一刀只能沿x方向和方向和y方向走非常小的一步。方向走非常小的一步。表表3-1给出了下轮廓线上的部分数据给出了下轮廓线上的部分数据但工艺要求铣床沿但工艺要求铣床沿x方向每次只能移动方向每次只能移动0.1单位单位.这时需求出当这时需求出当x坐标每改变坐标每改变0.1单位时的单位时的y坐标。坐标。试完成加工所需的数据,画出曲线试完成加工所需的数据,画出曲线.第42页/共87页插值插值插值插值已知有已知有n+1个节点(个节点(xj,yj),),j=0,1,n,其中,其中xj互不相同,节点互不相同,节点(xj,yj)可看成由某个函数可看成由某个函数 y=f(x)产生;)产生;构造一个相对简单的函数构造一个相对简单的函数 y=P(x);使使P通过全部节点,通过全部节点,即即 P(xk)=yk,k=0,1,n;用用P(x)作为作为 函数函数f(x)的的 近似。近似。第43页/共87页yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xixi处的插处的插值结果值结果nearest :最邻近插值:最邻近插值linear :线性插值;线性插值;spline :三次样条插三次样条插值;值;cubic :立方插值。立方插值。缺省时:缺省时:线性插值。线性插值。V4:V4:注意:所有的插值方法都要求注意:所有的插值方法都要求x x是单调的,并且是单调的,并且xi不不能够超过能够超过x的范围。的范围。用用MATLABMATLAB作一维插值计算作一维插值计算第44页/共87页例:求解机床加工问题例:求解机床加工问题例:求解机床加工问题例:求解机床加工问题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第45页/共87页 要求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)被插值点插值方法插值节点被插值点的函数值nearestnearest 最邻近插值linearlinear 双线性插值cubiccubic 双三次插值缺省时,双线性插值用用MATLABMATLAB作网格节点数据的插值作网格节点数据的插值(二维二维)第46页/共87页 cz=griddata(x,y,z,cx,cy,method)要求cxcx取行向量,cycy取为列向量。被插值点插值方法插值节点被插值点的函数值nearestnearest 最邻近插值linearlinear 双线性插值cubiccubic 双三次插值v4 Matlab提供的插值方法缺省时,双线性插值用用MATLABMATLAB作散点数据的插值计算作散点数据的插值计算第47页/共87页例例例例:航行区域的警示线航行区域的警示线航行区域的警示线航行区域的警示线某海域上频繁地有各种吨位的船只经过。为保证船只的航行安全,有关机构在低潮时对水深进行了测量,表3-8是他们提供的测量数据:表3-8.水道水深的测量数据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第48页/共87页航行区域的警示线航行区域的警示线航行区域的警示线航行区域的警示线其中(其中(x,y)为测量点,)为测量点,z为(为(x,y)处的水)处的水深深(英尺英尺),水深,水深z是区域坐标(是区域坐标(x,y)的函数)的函数z=z(x,y),),船的吨位可以用其吃水深度来反映,分为船的吨位可以用其吃水深度来反映,分为 4英英尺、尺、4.5英尺、英尺、5英尺和英尺和 5.5英尺英尺 4 档。档。航运部门要在矩形海域(航运部门要在矩形海域(75,200)(50,150)上为不同吨位的航船设置警示标)上为不同吨位的航船设置警示标记。记。请根据测量的数据描述该海域的地貌,并绘制请根据测量的数据描述该海域的地貌,并绘制不同吨位的警示线,供航运部门使用。不同吨位的警示线,供航运部门使用。第49页/共87页MatlabMatlab求解求解求解求解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 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)画单个等高线时 contour(cx,cy,cz,I I);第50页/共87页曲线拟合曲线拟合 已知一组(二维)数据,即平面上已知一组(二维)数据,即平面上 n个点个点(xi,yi)i=1,n,寻求一个函数(曲寻求一个函数(曲线)线)y=f(x),使使 f(x)在某种准则下与所有数据点最为接近,即曲线拟合得最好。在某种准则下与所有数据点最为接近,即曲线拟合得最好。+xyy=f(x)(xi,yi)i i 为点为点(xi,yi)与与曲线曲线 y=f(x)的距离的距离最常用的方法是线性最小二乘拟和第51页/共87页多项式拟合多项式拟合多项式拟合多项式拟合对对给给定定的的数数据据(xj,yj),j=0,1,n;选取适当阶数的多项式,如二次多项式选取适当阶数的多项式,如二次多项式g(x)=ax2+bx+c;使使g(x)尽可能逼近(拟合)这些数据,尽可能逼近(拟合)这些数据,但是不要求经过给定的数据(但是不要求经过给定的数据(xj,yj););第52页/共87页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拟合多项式次数多项式拟合指令多项式拟合指令第53页/共87页即要求出二次多项式:中 的使得:例 对下面一组数据作二次多项式拟合xi00.10.20.30.40.50.60.70.80.91yi-0.4471.9783.286.166.167.347.669.589.489.3011.2第54页/共87页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)%作出数据点和拟合曲线的图形第55页/共87页可化为多项式的非线性拟和一般非线性最小二乘拟和,实际上是无约束最优化问题命令:lsqcurvefit、lsqnonlin等第56页/共87页 微分、积分和常微分方程微分、积分和常微分方程实验四实验四第57页/共87页数值积分常用的方法数值积分常用的方法数值积分常用的方法数值积分常用的方法(1)用不定积分计算定积分:)用不定积分计算定积分:牛顿莱布尼兹公式牛顿莱布尼兹公式,但是有时得不到原函数;但是有时得不到原函数;(2)定义法,取近似和的极限:)定义法,取近似和的极限:高等数学中不是重点内容高等数学中不是重点内容但数值积分的各种算法却是基于定义建立的但数值积分的各种算法却是基于定义建立的 第58页/共87页数值微积分数值微积分(梯形公式和辛普森公式梯形公式和辛普森公式)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要要求求的的节节点较少。点较少。第59页/共87页例:数值积分例:数值积分X=0:pi/100:pi;Y=sin(X);Z1=trapz(X,Y)Z2=quad(sin,0,pi)Z1=1.998z2=2.0000第60页/共87页求解常微分方程求解常微分方程第61页/共87页一阶常微分方程数值解法一阶常微分方程数值解法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),命令为:options=odeset (reltol,rt,abstol,at),rt,at:分别为设定的相对误差和绝对误差.第62页/共87页 1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成.2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.注意注意:第63页/共87页 设位于坐标原点的甲舰向位于x轴上点A(1,0)处的乙舰发射导弹,导弹头始终对准乙舰。如果乙舰以最大的速度v0(是常数)沿平行于y轴的直线行驶,导弹的速度是5v0,(1)画出导弹运行的曲线方程.(2)乙舰行驶多远时,导弹将它击中?导弹追击问题第64页/共87页由(1),(2)消去t整理得模型:第65页/共87页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,xf=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)化为一阶微分方程组。第66页/共87页 最优化方法实验五第67页/共87页最优化方法最优化方法 许多生产计划与管理问题都可以归纳为最优化问题,最优化模型是数学建模中应用最广泛的模型之一,其内容包括线性规划、整数线性规划、非线性规划、动态规划、变分法、最优控制等.近几年来的全国大学生数学建模竞赛中,几乎每次都有一道题要用到此方法.目标函数 约束条件 可行解域 第68页/共87页线性规划线性规划第69页/共87页用MATLAB优化工具箱解线性规划min z=cX 1、模型:命令:x=linprog(c,A,b)2、模型:min z=cX 命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=,b=.第70页/共87页3、模型:min z=cX VLBXVUB命令:1 x=linprog(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.第71页/共87页解:编写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)第72页/共87页 某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?例(任务分配问题)第73页/共87页解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:第74页/共87页S.t.改写为:第75页/共87页编写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 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)第76页/共87页结果:x=0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval=1.3800e+004 即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。第77页/共87页 1.首先建立M文件fun.m,定义目标函数F(X):function f=fun(X);f=F(X);非线性规划非线性规划 其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组 成的向量.用Matlab求解上述问题,基本步骤分三步:第78页/共87页 3.建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下:(1)x=fmincon(fun,X0,A,b)(2)x=fmincon(fun,X0,A,b,Aeq,beq)(3)x=fmincon(fun,X0,A,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的选取有关。第79页/共87页 1、写成标准形式:s.t.2x1+3x2 6 s.t x1+4x2 5 x1,x2 0例3第80页/共87页2、先建立M-文件 fun3.m: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第81页/共87页如何撰写数学建模论文如何撰写数学建模论文第82页/共87页什么是数学建模?数学建模是利用数学方法解决实际问题的一种实践。即通过抽象、简化、假设、引进变量等处理过程后,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解。第83页/共87页 在实际过程中用那一种方法建模主要是根据我们对研究对象的了解程度和建模目的来决定。机理分析法建模的具体步骤大致可见右图。符合实际不符合实际交付使用,从而可产生经济、社会效益实际问题抽象、简化、假设 确定变量、参数建立数学模型并数学、数值地求解、确定参数用实际问题的实测数据等来检验该数学模型建模过程示意图第84页/共87页 怎样撰写数学建模的论文?1、摘要:问题、模型、方法、结果2、问题重述4、分析与建立模型5、模型求解 (借助数学软件)6、模型检验7、模型推广8、参考文献9、附录3、模型假设第85页/共87页第86页/共87页感谢您的观看!第87页/共87页

    注意事项

    本文(用matlab解决插值问题.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开