高等应用数学问题的MATLAB求解东北大学信息学院1/143星期六,2013-5-18,23:50:53第8章数据插值、函数逼近问题的计算机求解插值与数据拟合样条插值与数值微积分问题求解由已知数据拟合数学模型特殊函数及曲线绘制信号分析与数字信号处理基础高等应用数学问题的MATLAB求解东北大学信息学院2/143星期六,2013-5-18,23:50:538.1插值与数据拟合一维数据的插值问题已知样本点的定积分计算二维网格数据的插值问题二维一般分布数据的插值问题高维插值问题基于样本数据点的离散最优化求解高等应用数学问题的MATLAB求解东北大学信息学院3/143星期六,2013-5-18,23:50:538.1.1一维数据的插值问题一维插值问题的求解Lagrange插值算法及应用一维插值的预报问题求解高等应用数学问题的MATLAB求解东北大学信息学院4/143星期六,2013-5-18,23:50:538.1.1.1一维插值问题的求解一维插值interp1()函数的调用格式为:插值方法:linear:默认方法cubic:当前版本的MATLAB中改为pchipnearestspline高等应用数学问题的MATLAB求解东北大学信息学院5/143星期六,2013-5-18,23:50:53运用外推法,在区间外的点的插值的函数调用格式为高等应用数学问题的MATLAB求解东北大学信息学院6/143星期六,2013-5-18,23:50:53例8.1已知的数据点来自函数根据生成的数据进行插值处理,得出较平滑的曲线直接生成数据MATLAB求解语句:高等应用数学问题的MATLAB求解东北大学信息学院7/143星期六,2013-5-18,23:50:53调用interp1()函数:验证结果:高等应用数学问题的MATLAB求解东北大学信息学院8/143星期六,2013-5-18,23:50:53例8.2编写一段程序,允许利用插值方法手工绘制一条光滑的曲线高等应用数学问题的MATLAB求解东北大学信息学院9/143星期六,2013-5-18,23:50:53需要用户自己选定几个点,然后就能绘制出一条光滑的曲线在绘制图形时,若给出vis变量,则绘制的图形保留样本点处的圆圈,否则在绘制图形后删去圆圈高等应用数学问题的MATLAB求解东北大学信息学院10/143星期六,2013-5-18,23:50:538.1.1.2Lagrange插值算法及应用已知点,可求出x向量上各点处的插值为:插值算法为MATLAB函数调用格式高等应用数学问题的MATLAB求解东北大学信息学院11/143星期六,2013-5-18,23:50:53Lagrange插值算法的MATLAB实现高等应用数学问题的MATLAB求解东北大学信息学院12/143星期六,2013-5-18,23:50:53对进行Lagrange插值调用interp1()函数:例8.3高等应用数学问题的MATLAB求解东北大学信息学院13/143星期六,2013-5-18,23:50:53例8-4某省人口数据在census.xls给出,试根据给出的数据预报未来人口人口数量预报问题是一个复杂的问题采用人口动力学之类的动态模型这里给出的预报只适合短时间之内的预报高等应用数学问题的MATLAB求解东北大学信息学院14/143星期六,2013-5-18,23:50:538.1.2已知样本点的定积分计算编写MATLAB函数:函数调用格式:高等应用数学问题的MATLAB求解东北大学信息学院15/143星期六,2013-5-18,23:50:53例8.5利用样条插值算法求解用30个采样点求解:高等应用数学问题的MATLAB求解东北大学信息学院16/143星期六,2013-5-18,23:50:53比较梯形积分法法和基于插值的方法:给定5个不均匀分布的采样点:误差高等应用数学问题的MATLAB求解东北大学信息学院17/143星期六,2013-5-18,23:50:53例8.6已知其中的150个数据点,用quadspln()函数计算出该定积分的值求数值解:高等应用数学问题的MATLAB求解东北大学信息学院18/143星期六,2013-5-18,23:50:538.1.3二维网格数据的插值问题二维插值的函数:其中,为已知二维数据,为插值点构成的新的网格参数,矩阵为在所选插值网格点处的函数近似值•选项类似于interp1•建议使用spline选项高等应用数学问题的MATLAB求解东北大学信息学院19/143星期六,2013-5-18,23:50:53例8.7根据下述函数生成一些较稀疏的网格数据进行各种插值拟合,并比较拟合结果绘制已知数据的网格图:高等应用数学问题的MATLAB求解东北大学信息学院20/143星期六,2013-5-18,23:50:53默认插值算法进行插值:立方插值和样条插值,并分析误差高等应用数学问题的MATLAB求解东北大学信息学院21/143星期六,2013-5-18,23:50:53griddata()函数的调用格式:其中是已知的二维样本点x,y是期望的插值位置z表示插值的结果,维数和x,y一致‘v4’是MATLAB4.0版本中提供的插值算法.8.1.4二维一般分布数据的插值问题高等应用数学问题的MATLAB求解东北大学信息学院22/143星期六,2013-5-18,23:50:53例8.8给定函数在矩形区域内随机生成一组样本点生成一组的值,以这些值为已知数据,用griddata()进行插值处理,并误差分析。数据生成与显示高等应用数学问题的MATLAB求解东北大学信息学院23/143星期六,2013-5-18,23:50:53使用‘cubic’和‘v4’算法:比较:高等应用数学问题的MATLAB求解东北大学信息学院24/143星期六,2013-5-18,23:50:53例8.9给定的样本点在x-y平面分布较均匀,现在人为剔除某些点,表明已知数据分布不均匀,这时再进行插值分析,观察插值效果。剔除圆内的样本点高等应用数学问题的MATLAB求解东北大学信息学院25/143星期六,2013-5-18,23:50:53用新的样本点拟合出曲面:误差分析:误差的等高线图:高等应用数学问题的MATLAB求解东北大学信息学院26/143星期六,2013-5-18,23:50:538.1.5高维插值问题三维的网格数据生成:高维网格数据的生成插值函数网格数据插值interpn散点数据的插值griddatan高等应用数学问题的MATLAB求解东北大学信息学院27/143星期六,2013-5-18,23:50:53数据格式变换多维网格格式不同ndgrid与meshgrid格式不同格式转换方法高等应用数学问题的MATLAB求解东北大学信息学院28/143星期六,2013-5-18,23:50:53例8.10假设已知某三元函数可以通过该函数生成一些网格型样本点,试根据样本点进行拟合,并给出拟合误差高等应用数学问题的MATLAB求解东北大学信息学院29/143星期六,2013-5-18,23:50:538.1.6基于样本数据点的离散最优化求解当需要优化的目标函数的原型未知,且有一些相应的、离散分布样本数据点,则可以采用样条插值或其他插值方法去拟合目标函数,从而优化这样的目标函数。高等应用数学问题的MATLAB求解东北大学信息学院30/143星期六,2013-5-18,23:50:53例8.11给定下列函数假设已经测出了其中一些离散数据点,试根据这些离散点搜索对应函数的最小值,并检验所得出的结果高等应用数学问题的MATLAB求解东北大学信息学院31/143星期六,2013-5-18,23:50:53MATLAB求解语句:高等应用数学问题的MATLAB求解东北大学信息学院32/143星期六,2013-5-18,23:50:538.2样条插值与数值微积分问题求解样条插值的MATLAB表示基于样条插值的数值微积分运算高等应用数学问题的MATLAB求解东北大学信息学院33/143星期六,2013-5-18,23:50:538.2.1样条插值的MATLAB表示三次样条函数及其MATLAB表示B样条函数及其MATLAB表示高等应用数学问题的MATLAB求解东北大学信息学院34/143星期六,2013-5-18,23:50:538.2.1.1三次样条函数及其MATLAB表示样本点:其中,S(x)为三次样条函数的三个条件:每个子区间上,S(x)为三次多项式S(x)在整个区间上有连续的1-2阶导数高等应用数学问题的MATLAB求解东北大学信息学院35/143星期六,2013-5-18,23:50:53定义一个三次样条函数类:其中,样本点样条函数对象的插值结果:图形绘制计算结果高等应用数学问题的MATLAB求解东北大学信息学院36/143星期六,2013-5-18,23:50:53例8.12给定下式和150个已知的样本点,给出稀疏数据的三次样条插值结果MATLAB求解语句:高等应用数学问题的MATLAB求解东北大学信息学院37/143星期六,2013-5-18,23:50:53例8.13给定生成一些数据,用三次样条插值的方法对这些数据进行拟合MATLAB求解语句:高等应用数学问题的MATLAB求解东北大学信息学院38/143星期六,2013-5-18,23:50:53分段三次多项式样条插值系数表高等应用数学问题的MATLAB求解东北大学信息学院39/143星期六,2013-5-18,23:50:53网格数据三次样条插值类:为自变量的网格标志网格数据的样本点得出的S是三次样条函数对象多个自变量网格数据插值高等应用数学问题的MATLAB求解东北大学信息学院40/143星期六,2013-5-18,23:50:53例8.14给定用三次样条插值方法得出网格数据的样条插值拟合,并绘制出曲面MATLAB求解语句:高等应用数学问题的MATLAB求解东北大学信息学院41/143星期六,2013-5-18,23:50:538.2.1.2B样条函数及其MATLAB表示建立B样条插值对象其中k为用户选定的B样条阶次,一般选择k=4,5高等应用数学问题的MATLAB求解东北大学信息学院42/143星期六,2013-5-18,23:50:53例8.15给定两个函数生成数据,再进行5次B样条函数拟合,并与三次样条函数拟合的结果相比较高等应用数学问题的MATLAB求解东北大学信息学院43/143星期六,2013-5-18,23:50:53方法2:高等应用数学问题的MATLAB求解东北大学信息学院44/143星期六,2013-5-18,23:50:538.2.2基于样条插值的数值微积分运算基于样条插值的数值微分运算基于样条插值的数值积分运算高等应用数学问题的MATLAB求解东北大学信息学院45/143星期六,2013-5-18,23:50:538.2.2.1基于样条插值的数值微分运算求单变量k阶导数的函数调用格式:多变量函数的偏导数的函数调用格式:高等应用数学问题的MATLAB求解东北大学信息学院46/143星期六,2013-5-18,23:50:53例8.16给定生成一些数据点用三次分段多项式样条函数与B样条插值函数,求出该函数的导数与理论推导结果相比较高等应用数学问题的MATLAB求解东北大学信息学院47/143星期六,2013-5-18,23:50:53MATLAB求解语句:高等应用数学问题的MATLAB求解东北大学信息学院48/143星期六,2013-5-18,23:50:53例8.17给定生成一些数据点利用数值插值的方法拟合曲面并与解析解法绘制出的曲面相比较高等应用数学问题的MATLAB求解东北大学信息学院49/143星期六,2013-5-18,23:50:53理论方法:高等应用数学问题的MATLAB求解东北大学信息学院50/143星期六,2013-5-18,23:50:538.2.2.2基于样条插值的数值积分运算积分函数:在区间[a,b]求取定积分高等应用数学问题的M