插值与拟合 |
您所在的位置:网站首页 › 样条插值定义 › 插值与拟合 |
一、一维插值 拉格朗日插值(高次多项式插值):其插值函数在整个区间上是一个解析表达式,便于再次开发利用;曲线光滑;误差估计有表达式;收敛性不能保证(振荡现象)。用于理论分析,实际意义不大。 分段线性和三次样条插值(低次多项式插值):曲线不光滑(三次样条插值已大有改进);误差估计较难(对三次样条插值); 收敛性有保证。简单实用,应用广泛。 ![]() 节点可视为由y = g( x)产生,函数g表达式复杂,或无解析表达式,或未知。 构造一个(相对简单的)函数y=f(x),通过全部节点, 即f (xj) =yj ( j =0,1,....,n) 再用f(x)计算插值,即y∗=f(x∗) (1) 拉格朗日(Lagrange)插值已知函数f(x)在n+1个点x0,x1,…,xn处的函数值为 y0,y1,…,yn 。求一n次多项式函数Pn(x),使其满足:Pn(xi)=yi,i=0,1,…,n. 解决此问题的拉格朗日插值多项式公式如下 ![]() 其中Li(x) 为n次多项式: ![]() 称为拉格朗日插值基函数。 特别地: 两点一次(线性)插值多项式: ![]() 三点二次(抛物)插值多项式: ![]() 直接验证可知,Ln( x) )满足插值条件Ln(xi)=yi,i=0,1,…,n. N越大,误差不一定越小。 通过考察g(x)= ![]() ,-5≤x≤5 ![]() 采用拉格朗日多项式插值:选取不同插值节点个数n+1, 其中n为插值多项式 的次数,当n分别取2, 4,6,8,10时,绘出插值结果如上图. 这种振荡现象叫Runge现象。 (2)分段线性插值![]() ![]() 计算量与n无关;n越大,误差越小. ![]() ![]() 分段线性插值在区间端点不光滑。 在数学上,光滑程度的定量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性。 光滑性的阶次越高,曲线则越光滑。是否存在较低次的分段多项式达到较高阶光滑性的方法? 三次样条函数 S(x), x∈[a, b] , 满足: 1)S(x) 在每一个小区间[xi-1,xi]上是一个三次多项式函数 ; 2)在整个区间[a,b]上,其二阶导数存在且连续。 问题:给定n+1个节点(x0, y0 ),(x1, y1 ) ,…, (xn, yn), 求一个三次样条函数S(x),使其满足:S(xi)=yi,i=0,1,…,n. 如何确定三次样条函数在每一个小区间上的三次多项式函数的系数? ![]() •待定系数和方程个数 参数:每个小段上4个参数,n个小段共计4n个方程: 1)每个小段上由给定函数值得到2个,n个小段共计2n个; 光滑性要求每一个内部节点的一阶二阶导数连续,得出其左右导数相等,因此,每个节点产生2个方程,共计2(n-1) 个 。现在得到了4n-2个方程。为了求解4n个方程,常用的方法是对边界节点除函数值外附加要求,这就是所谓的边界条件。需要两个,正好左右两个端点各一个。 用三次样条插值选取11个基点计算插值(ych) ![]() 一维插值函数: ![]() 插值方法: nearest:最邻近插值; next:下一个邻点插值 ;previous:前一个邻点插值;linear:线性插值; spline:三次样条插值;pchip:保形分段三次插值; cubic :立方插值;v5cubic:在MATLAB5中使用的三次卷积。 缺省时:分段线性插值。 例:在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。 hours=1:12; temps=[5 8 9 15 25 29 31 30 22 25 27 24]; h=1:0.1:12; t=interp1(hours,temps,h,'spline'); (直接输出数据将是很多的) plot(hours,temps,'+',h,t,hours,temps,'r:') %作图xlabel('Hour'),ylabel('Degrees Celsius’)二、二维插值1. 两类节点第一种(网格节点) 已知m×n个节点(xi, xj, zij) ( i=1, 2, …,m; j=1, 2, …, n )其中xi, yj互不相同, 不妨设 a=x1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |