- 6
- 0
- 约 51页
- 2017-06-02 发布于河南
- 举报
实验13 (插值与拟合)
用MATLAB解拟合问题 1、线性最小二乘拟合 2、非线性最小二乘拟合 用MATLAB作线性最小二乘拟合 1. 作多项式f(x)=a1xm+ …+amx+am+1拟合,可利用已有程序: a=polyfit(x,y,m) 2. 对超定方程组 可得最小二乘意义下的解。 ,用 3.多项式在x处的值y可用以下命令计算: y=polyval(a,x) 输出拟合多项式系数 a=[a1, …am , am+1] (数组)) 输入同长度 的数组X,Y 拟合多项 式次数 即要求 出二次多项式: 中 的 使得: 例 对下面一组数据作二次多项式拟合 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]; R=[(x.^2) x ones(11,1)]; A=R\y 解法1.用解超定方程的方法 2)计算结果: A = -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) %作出数据点和拟合曲线的图形 2)计算结果: A = -9.8108 20.1293 -0.0317 解法2.用多项式拟合的命令 1. lsqcurvefit 已知数据点: xdata=(xdata1,xdata2,…,xdatan), ydata=(ydata1,ydata2,…,ydatan) 用MATLAB作非线性最小二乘拟合 Matlab的提供了两个求非线性最小二乘拟合的函数:lsqcurvefit和lsqnonlin。两个命令都要先建立M-文件fun.m,在其中定义函数f(x),但两者定义f(x)的方式是不同的,可参考例题. lsqcurvefit用以求含参量x(向量)的向量值函数 F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T 中的参变量x(向量),使得 * * 实验13 插值与拟合 实验目的 1、了解插值和拟合的基本内容。 2、掌握用数学软件包求解插值和拟合问题。 实验内容 [1]一维插值 [2]二维插值 [3]拟合问题引例及基本理论。 [4] 用数学软件求解拟合问题。 拉格朗日插值 分段线性插值 三次样条插值 三种插值方法 一、一维插值的定义 二、插值的方法 三、用Matlab解插值问题 一维插值的定义 已知 n+1个节点 其中 互不相同,不妨设 求任一插值点 处的插值 ? ? ? ? ? 节点可视为由 产生 表达式复杂,, 或无封闭形式,, 或未知.。 ? 构造一个(相对简单的)函数 通过全部节点, 即 再用 计算插值,即 ? ? ? ? ? ? 称为拉格朗日插值基函数。 已知函数f(x)在n+1个点x0,x1,…,xn处的函数值为 y0,y1,…,yn 。求一n次多项式函数Pn(x),使其满足: Pn(xi)=yi,i=0,1,…,n. 解决此问题的拉格朗日插值多项式公式如下 其中Li(x) 为n次多项式: 拉格朗日(Lagrange)插值 拉格朗日(Lagrange)插值 特别地: 两点一次(线性)插值多项式: 三点二次(抛物)插值多项式: 拉格朗日多项式插值的 这种振荡现象叫 Runge现象 采用拉格朗日多项式插值:选取不同插值节点个数n+1,其中n为插值多项式的次数,当n分别取2,4,6,8,10时,绘出插值结果图形. 例 分段线性插值 计算量与n无关; n越大,误差越小. ? ? ? ? ? ? xj xj-1 xj+1 x0 xn x o y 比分段线性插值更光滑。 ? ? ? ? ? ? ? ? ? x y xi-1 xi a b 在数学上,光滑程度的定量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性。 光滑性的阶次越高,则越光滑。是否存在较低次的分段多项式达到较高阶光滑性的方法?三次样条插值就是一个很好的例子。 三次样条插值 三次样条插值 g(x)为被插值函数。 用MATLAB作插值计算 一维插值函数: yi=interp1(x,y,xi,method) 插值方法 被插值点 插值节点 xi处的插值结果 ‘nearest’ :最邻近
原创力文档

文档评论(0)