第10章-MATLAB-710-高级数值计算课件_第1页
第10章-MATLAB-710-高级数值计算课件_第2页
第10章-MATLAB-710-高级数值计算课件_第3页
第10章-MATLAB-710-高级数值计算课件_第4页
第10章-MATLAB-710-高级数值计算课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第10章 高级数值计算前三章(7、8、9)分别介绍了数值计算的一些基础内容,包括矩阵分析、函数分析和数据分析。本章是前三章内容的扩展和深化,将讨论数值计算的一些高级主题,如数据插值、回归分析、微分方程求解等。本章主要内容如下。多项式插值回归分析曲线拟合傅立叶分析常微分方程求解第10章 高级数值计算前三章(7、8、9)分别介绍了数值计10.1 多项式多项式在数学理论分析、数值计算等方面具有很好的性质,这使得多项式在插值、回归分析、曲线拟合、微分方程求解等众多领域都有重要应用。本节将介绍多项式表示、多项式求值、多项式求根、多项式微积分、有理分式展开,为后续各节内容的展开奠定基础。10.1 多项式多

2、项式在数学理论分析、数值计算等方面具有很 10.1.1 多项式表示 10.1.1 多项式表示10.1.2 矩阵的特征多项式10.1.2 矩阵的特征多项式10.1.3 求多项式的值10.1.3 求多项式的值10.1.4 求多项式的根多项式的根即是使的。MATLAB提供专门的函数roots用于求多项式的根,函数roots的调用格式如下:s = roots(p)其中p为多项式表示,返回值s为 解向量,N为 多项式的阶数。10.1.4 求多项式的根多项式的根即是使的。MATLAB10.1.5 多项式卷积和反卷积10.1.5 多项式卷积和反卷积10.1.6 多项式微积分10.1.6 多项式微积分10.1

3、.7 有理式的部分展开10.1.7 有理式的部分展开10.2 插值10.2 插值10.2.1 一维插值10.2.1 一维插值10.2.2 二维插值被插值函数为二元函数时,插值过程为二维插值,依次类推,有三维插值、高维插值,这些内容将在下面的章节中介绍。图是二维插值的简单示意。MATLAB利用函数interp2实现二维插值,其一般的调用格式为:ZI = interp2(X, Y, Z, XI, YI, method)10.2.2 二维插值被插值函数为二元函数时,插值过程为二10.2.3 高维插值MATLAB支持三维及三维以上的高维插值,分别由函数interp3和interpn实现。高维插值与三维

4、插值类似,这里仅介绍三维插值,至于高维插值,读者可以参考MATLAB帮助文档和三维插值的例子。三维插值函数interp3的一般调用格式为:VI = interp3(X,Y,Z,V,XI,YI,ZI,method)其中X、Y、Z、V 是具有相同大小的三维数组,X, Y, Z为三维数据网格,V是数据网格上的函数值; XI、YI、ZI、VI是具有相同大小的三维数组,返回值VI是三维插值网格XI, YI, ZI上的函数值估计;method为字符串,表示不同的插值方法,主要有以下四种:method = nearest,最近邻插值。method = linear,三次线性插值。method = cubic

5、,三次立方插值。method = spline,样条插值。 10.2.3 高维插值MATLAB支持三维及三维以上的高维10.2.4 样条插值利用分段多项式逼近函数可以降低插值多项式的阶数,使曲线连接处更加光滑,这种插值方法称为样条插值,分段插值多项式称为样条函数,采样点称为节点。样条插值广泛地应用于各种制造业的计算机辅助设计(CAD)、各种图形的绘制工作、地理信息系统、实验数据的拟合、以及现在“热门”的计算机动画制作等。在样条函数中,应用最广的是三次样条函数。10.2.4 样条插值利用分段多项式逼近函数可以降低插值多10.2.5 插值方法比较不同的插值方法本质上是对插值函数的约束条件不同,相应

6、地,插值的效果及效率也有很大的差别,这里对MATLAB中常用的四种插值方法总结如下:最近邻插值法,利用阶梯函数作插值,速度快,内存消耗少,但是得到的插值数据光滑性能差。线性插值法,利用分段线性函数作插值,速度快,内存消耗少,但是在采样点处的光滑性能较差。立方插值法,利用三次多项式函数作插值,在采样点处的光滑性能好,但是效率低,内存消耗大。样条插值法,利用分段三次多项式函数作插值,速度较快,得到的插值数据光滑性能好。10.2.5 插值方法比较不同的插值方法本质上是对插值函数10.3 回归分析回归分析和下节将要介绍的曲线拟合都是统计学中非常重要的数据分析方法,在信号处理、经济学等众多领域中都有广泛

7、的应用。为此MATLAB对回归分析和曲线拟合提供了强大的支持,并专门提供了一个工具箱。假设得到了以下实验观测数据:x = 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1,y = 0.99567, 0.99334, 1.0413, 1.0929, 1.1485, 1.2619, 1.3719, 1.4896, 1.6433, 1.8117, .9981,试找出x、y的约束关系。10.3 回归分析回归分析和下节将要介绍的曲线拟合都是统计10.3.1 线性回归分析10.3.1 线性回归分析10.3.2 多项式回归分析当 为多项式,且 时, ,此时线

8、性回归分析称为多项式回归分析。10.3.2 多项式回归分析当 为多项式,且 10.3.3 多分量回归分析前面介绍了单个变量的回归分析,实际中的问题需要考虑多个方面因素的影响,研究多个变量之间的联系,就是本小节将要研究的多个变量回归分析。对多个变量的回归分析类似于单变量回归分析,首先对函数建模,要求函数模型与未知参数的关系是线性的,代入观测数据得Fa=y,由最小二乘拟合a=F/y求得线性参数,从而得到y=f(x),这里的x为自变量组成的向量。下面通过一个简单的例子介绍多变量回归分析。10.3.3 多分量回归分析前面介绍了单个变量的回归分析,10.4 曲线拟合曲线拟合是要找到一条光滑曲线,使其最佳

9、地拟合数据,该曲线不必经过数据点,这正是曲线拟合及回归分析与插值的不同之处。曲线拟合涉及两个基本问题:光滑曲线的形式是怎样的,以及最佳拟合的概念。第一个问题即是函数建模的问题,多项式模型,或是指数模型,以及别的更复杂的函数模型。最佳拟合是在某个误差准则下的最佳,常用的误差准则是误差平方和最小,也可以是最大误差最小准则,误差的绝对值和最小等。以下的讨论均是以误差平方和最小作为误差准则。根据函数模型的不同,曲线拟合可以分为多项式拟合、指数函数拟合等,用户甚至可以自己定义新的拟合形式。 10.4 曲线拟合曲线拟合是要找到一条光滑曲线,使其最佳地10.4.1 多项式拟合顾名思义,多项式拟合是利用多项式

10、最佳地拟合观测数据,使得在观测数据点处的误差平方和最小。MATLAB中利用函数polyfit和polyval进行多项式拟合。函数polyfit 根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x, y, n)其中x为自变量,y为应变量,n为多项式阶数。至于polyval的用法已经在10.1.3小节介绍过,这里不再赘述。10.4.1 多项式拟合顾名思义,多项式拟合是利用多项式最10.4.2 指数函数拟合指数函数拟合是利用指数函数 ,对观测数据进行拟合,使误差平方和最小。MATLAB对指数函数拟合没有提供专门的函数支持,通常利用一

11、阶多项式拟合来解决指数函数拟合问题。对上式两边取对数,得 ,因此x、lny构成一阶多项式拟合问题。这里以对 的采样数据拟合为例。10.4.2 指数函数拟合指数函数拟合是利用指数函数 10.4.3 交互式曲线拟合工具MATLAB为用户提供了一个交互式曲线拟合工具,即Basic Fitting interface。通过该工具,用户无须编写代码就可以完成一些常用的曲线拟合。下面以MATLAB自带的census data数据拟合为例介绍Basic Fitting interface的使用方法。10.4.3 交互式曲线拟合工具MATLAB为用户提供了一10.5 傅立叶分析傅立叶分析在信号处理、图像处理等

12、众多的领域中都有极其重要的应用。傅立叶变换(Fourier Transform)将函数表示为不同频率的正弦、余弦函数之和,对于离散数据,傅立叶变换对应地为DFT,即离散傅立叶变换。对长度为的输入序列,其DFT是长度为的向量,且,MATLAB利用快速傅立叶变换函数fft实现离散傅立叶变换。另外,由的DFT也可以得到,称为的IDFT(逆傅立叶变换),MATLAB利用逆快速傅立叶变换函数ifft实现IDFT。10.5 傅立叶分析傅立叶分析在信号处理、图像处理等众多的10.5.1 快速傅立叶变换(FFT)、逆快速傅立叶变换(IFFT)10.5.1 快速傅立叶变换(FFT)、逆快速傅立叶变换(10.5.

13、2 FFT的幅度和相位10.5.2 FFT的幅度和相位10.5.3 傅立叶分析的应用例子太阳黑子的活动具有一定的周期性,MATLAB提供了过去300年内太阳黑子活动的数据,下面通过对该数据的傅立叶分析研究太阳黑子活动的周期性。10.5.3 傅立叶分析的应用例子太阳黑子的活动具有一定的10.6 常微分方程解微分方程是数学中一个重要的问题,在物理学、控制理论、信号处理等方面都有很重要的应用。本节主要讨论解微分方程中一个基础而又重要的主题,即常微分方程的求解。本节首先介绍一阶常微分方程的求解,主要是ODE函数的用法,随后讨论如何将高阶常微分方程转换为一阶常微分方程,进而方便高微分方程的求解。10.6

14、 常微分方程解微分方程是数学中一个重要的问题,在物10.6.1 一阶常微分方程考虑下面的运动学问题:某物体初始位置为0,从时刻开始,以速度沿轴正向运动,求物体在时刻的位移。10.6.1 一阶常微分方程考虑下面的运动学问题:某物体初10.6.2 ODE函数的选择MATLAB提供了8种ODE函数用于常微分方程的求解,它们分别是ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb、ode15i,前面介绍的ode45是比较常用的一种。这8个ODE函数分别用于不同类型常微分方程的求解,使用的算法也各不相同,不同ode函数的比较ODE Solver针对的常微分方程

15、类型算 法ode45非刚性微分方程Kutta Rungeode23非刚性微分方程Runge-Kuttaode113非刚性微分方程Adamsode15s刚性微分方程和 DAEsNDFs (BDFs)ode23s刚性微分方程Rosenbrockode23t中等刚性微分方程DAEsTrapezoidal ruleode23tb刚性微分方程TR-BDF2ode15i全隐式微分方程BDFs10.6.2 ODE函数的选择MATLAB提供了8种ODE10.6.3 高阶常微分方程MATLAB对高阶常微分方程的求解是基于一阶常微分方程的,用户需要将高阶常微分方程转换为一阶常微分方程。10.6.3 高阶常微分方程MATLAB对高阶常微分方程的10.7 小结本章讨论数值计算的一些高级主题,如插值、拟合、微分方程求解等,通过本章的学习,读者应

温馨提示

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

评论

0/150

提交评论