学习课件教学课件PPT教案讲义MATLAB计算.ppt_第1页
学习课件教学课件PPT教案讲义MATLAB计算.ppt_第2页
学习课件教学课件PPT教案讲义MATLAB计算.ppt_第3页
学习课件教学课件PPT教案讲义MATLAB计算.ppt_第4页
学习课件教学课件PPT教案讲义MATLAB计算.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 matlab计算 3.1 方程组的求解 3.2 插值和拟合 3.3 函数的极值点 3.4 数值微积分 3.5 符号对象 3.6 符号微积分 3.7 符号方程的求解 3.2 插值和拟合 3.2.1 插值运算 3.2.2 曲线拟合 3.2.1 插值运算 插值技术能够从有限的数据中获取系统整体的状态 matlab提供的插值计算函数 函数说说明函数说说明 interp1一维维插值值(数值查值查 表)griddata3三维维数据网格的超表面数据插值值 interp1q一维维快速插值值(数值查值查 表)griddatan多维维数据网格的超表面数据插值值 interp2二维维插值值(数值查值查 表)mkpp产产生分段多项项式 interp3三维维插值值(数值查值查 表)pchip分段的厄密多项项式 interpnn维维插值值(数值查值查 表)ppval计计算分段多项项式的数值值 interpft使用fft算法的一维维插值值spline三次杨杨条插值值 griddata二维维数据网格的表面数据插 值值 unmkpp分段多项项式的细节细节 1、一维插值运算 如果被插值函数是一个单变量函数,则插值问题称为一 维插值。 一维插值采用的方法有线性方法、最近方法、3次多项式 和3次样条插值。 在matlab中实现一维插值的函数是interp1。 调用格式为:yi=interp1(x,y,xi,method) x和y为已知的原始数据,分别描述采样点和采样值 xi为需要计算的插值点,是一个向量或标量 yi是插值结果 method是插值方法,允许的取值有多种 若进行插值运算时,xi的取值超过了x的范围,则需要进行 外插值运算:yi=interp1(x,y,xi,method,extrap) x和y,xi和yi若都为向量,则等长,若y和yi为矩阵,则 length(x) and size(y,1) must be the same. 1、一维插值运算 method常用的取值有 linear:线性插值。线性插值是默认的插值方法,它是把 与插值点靠近的两个数据点用直线连接,然后在直线上选 取对应插值点的数据。 nearest:最近点插值。根据已知插值点与已知数据点的 远近程度进行插值。插值点优先选择较近的数据点进行插 值操作。 cubic:3次多项式插值。根据已知数据求出一个3次多项 式,然后根据该多项式进行插值。 spline:3次样条插值。3次样条插值是指在每个分段(子 区间)内构造一个3次多项式,使其插值函数除满足插值 条件外,还要求在各节点处具有光滑的条件。 1、一维插值运算 例 一维插值函数示例 %interp_ex1 一维插值计算示例 %准备数据 x=0:10; y=cos(x); %插值点 xi=0:0.2:10; %进行插值运算 yin=interp1(x,y,xi,nearest); yic=interp1(x,y,xi,cubic); %绘制结果 plot(x,y,o,xi,yin,*,xi,yic) legend(origin,nesrest,cubic) title(一维插值计算示例) 1、一维插值运算 1、一维插值运算 例子:用不同的插值方法计算sinx在/2点的值 x=0:0.2:pi;y=sin(x); %给出x、y interp1(x,y,pi/2) %用默认的方法计算sin(/2) ans = 0.9975 interp1(x,y,pi/2,nearest) %用最近点插值方法计算sin(/2) ans = 0.9996 interp1(x,y,pi/2,linear) %用线性插值方法计算sin(/2) ans = 0.9975 interp1(x,y,pi/2,spline) %用3次样条插值方法计算sin(/2) ans = 1.0000 interp1(x,y,pi/2,cubic) %用3次多项式插值方法计算sin(/2) ans = 0.9992 时间时间 h6 8 10 12 14 16 18 室内温度t118.0 20.0 22.0 25.0 30.0 28.0 24.0 室外温度t215.0 19.0 24.0 28.0 34.0 32.0 30.0 1、一维插值运算 例子:某观测站测得某日6:00时至18:00时之间每隔两小时的室 外温度()如表所示,用3次样条插值法分别求得该日室外 6:30时至17:30时之间每隔两小时各点的近似温度()。 设时间变量h为一行向量,温度t为一个两列矩阵,其中第 一列存放室内温度,第二列存放室外温度。 h=6:2:18; t=18,20,22,25,30,28,24;15,19,24,28,34,32,30; hi=6.5:2:17.5; ti=interp1(h,t,xi,spline) ti = 18.5020 15.6553 20.4986 20.3355 22.5193 24.9089 26.3775 29.6383 30.2051 34.2568 26.8178 30.9594 1、一维插值运算 2、二维插值运算 当函数依赖于两个自变量变化时,其采样点就应该是一 个由这两个参数组成的一个平面区域,插值函数也是一个二维 函数。 对依赖于两个参数的函数进行插值的问题称为二维插值 问题。 在matlab中实现二维插值的函数是interp2。 调用格式为:zi=interp2(x,y,z,xi,yi,method) x和y为原始数据,是两个等长的已知向量,分别描述 两个参数的采样点 z是与参数采样点对应的函数值 xi ,yi是两个向量或标量,描述欲插值的点 zi是根据相应的插值方法得到的插值结果 method是插值方法,允许的取值有多种,与一维插值 函数相同 x,y,z也可以是矩阵的形式 若进行插值运算时,xi的取值超过了x的范围,则需要进 行外插值运算: zi=interp2(x,y,z,xi,yi,method,extrap) 2、二维插值运算 例:设 ,对z函数在0,1x0,2区域内进行插值。 x=0:0.1:1;y=0:0.2:2; x,y=meshgrid(x,y); %产生自变量网格坐标 z=x.2+y.2; %求对应的函数值 interp2(x,y,z,0.5,0.5) %在(0.5,0.5)点插值 ans = 0.5100 interp2(x,y,z,0.5 0.6,0.4) %在(0.5,0.4)点和(0.6,0.4)点插值 ans = 0.4100 0.5200 2、二维插值运算 interp2(x,y,z,0.5 0.6,0.4 0.5) %在(0.5,0.4)点和(0.6,0.5)点插值 ans = 0.4100 0.6200 interp2(x,y,z,0.5 0.6,0.4 0.5) %在点(0.5,0.4)、 (0.6,0.4)、(0.5,0.5) (0.6,0.5)插值 ans= 0.4100 0.5200 0.5100 0.6200 interp2(x,y,z,0.5 0.6,0.4 0.5, spline) % 选择spline插值方法,提高精度 ans = 0.4100 0.5200 0.5000 0.6100 2、二维插值运算 例:某实验对一根长10米的钢轨进行热源的温度传播测试。用x 表示测量点0:2.5:10(米),用h表示测量时间0:30:60(秒) ,用t表示测试所得各点的温度(),如下表所示。试用线性 插值法求出在一分钟内每隔20秒、钢轨每隔1米处的温度ti。 x t h 0 2.5 5 7.5 10 095 14 0 0 0 3088 48 32 12 6 6067 64 54 48 41 2、二维插值运算 x=0:2.5:10; h=0:30:60; t=95 14 0 0 0;88 48 32 12 6;67 64 54 48 41; xi=0:10; hi=0:20:60; ti=interp2(x,h,t,xi,hi) ti = columns 1 through 6 95.0000 62.6000 30.2000 11.2000 5.6000 0 90.3333 68.8667 47.4000 33.6000 27.4667 21.3333 81.0000 69.9333 58.8667 50.5333 44.9333 39.3333 67.0000 65.8000 64.6000 62.0000 58.0000 54.0000 columns 7 through 11 0 0 0 0 0 16.0000 10.6667 7.2000 5.6000 4.0000 33.2000 27.0667 22.7333 20.2000 17.6667 51.6000 49.2000 46.6000 43.8000 41.0000 ewcz.m 2、二维插值运算 surf(xi,hi,ti) 2、二维插值运算 3.2.2 曲线拟合 曲线拟合的目的是用一个较简单的函数去逼近一个复 杂的或未知的函数。 利用matlab进行曲线拟合主要有两种方法 回归法拟合 多项式拟合 1、 回归法曲线拟合 例6-27 t=0 0.3 0.8 1.1 1.6 2.3; y=0.5 0.82 1.14 1.25 1.35 1.4; plot(t,y,r*) grid on 回归法主要是使用matlab的左除运算来寻找曲线拟合解析 函数的系数。 t=ones(size(t), t,t.2 t = 1.0000 0 0 1.0000 0.3000 0.0900 1.0000 0.8000 0.6400 1.0000 1.1000 1.2100 1.0000 1.6000 2.5600 1.0000 2.3000 5.2900 a=ty a = 0.5318 0.9191 -0.2387 y=t*a 1、 回归法曲线拟合 验证: t=(0:0.1:2.5); y=ones(size(t),t,t.2*a; plot(t,y,-,t,y,o),grid on 1、 回归法曲线拟合 y=t*a t=ones(size(t), exp(-t),t.*exp(-t) t = 1.0000 1.0000 0 1.0000 0.7408 0.2222 1.0000 0.4493 0.3595 1.0000 0.3329 0.3662 1.0000 0.2019 0.3230 1.0000 0.1003 0.2306 a=xy a = 1.3974 -0.8988 0.4097 y=t*a 1、 回归法曲线拟合 验证: t=(0:0.1:2.5); y=ones(size(t), exp(-t),t.*exp(-t)*a; plot(t,y,-,t,y,o),grid on 1、 回归法曲线拟合 2、 多项式曲线拟合 在matlab中进行多项式拟合主要使用的函数有 polyfit:用来进行拟合计算 p=polyfit(x,y,n) x和y为参与曲线拟合的原始数据,n为进行 拟合计算的多项式次数,函数的返回值是多 项式的系数,即函数的运算结果为多项式的 系数向量。 polyval:用来计算多项式的数值 y=polyval(p,x) p为多项式的系数,x是变量的数值,得到的 结果就是函数的数值向量。 例:已知数据表如下所示,试求2次拟合多项式p(x),然后求 xi=1,1.5,2,2.5,3,3.5,9.5,10各点的函数近似值 。 x=1:10; y=9.6 4.1 1.3 0.4 0.05 0.1 0.7 1.8 3.8 9.0; p=polyfit(x,y,2) p = 0.4561 -5.0412 13.2533 x 1 2 3 4 5 6 7 8 9 10 y9.6 4.1 1.3 0.4 0.05 0.1 0.7 1.8 3.8 9.0 2、 多项式曲线拟合 %求出xi各点上的函数近似值 xi=1:0.5:10; yi=polyval(p,xi) yi = columns 1 through 7 8.6682 6.7177 4.9952 3.5007 2.2342 1.1958 0.3855 columns 8 through 14 -0.1969 -0.5512 -0.6775 -0.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论