一、插值和拟合的区别
首先插值和拟合都是根据某个未知函数(或已知但难于求解的函数)的几个已知数据点求出变化规律和特征相似的近似曲线的过程。但是插值法要求的是近似的曲线需要完全经过数据点,而拟合则是得到最接近的结果,强调最小方差的概念。插值和拟合的区别如下图所示[1](其中左边为插值,右边为拟合):
二、常见插值法
1.基本概念
设函数
有n个已知数据点
,若存在一简单函数
,使
成立。则
为
的
插值函数,点为插值节点, 求
的方法称为插值法。
2.拉格朗日插值
Lagrange插值多项式的公式如下:
基函数:
插值多项式:
插值余项:
当
时,截断误差界是:
其中:
matlab代码:
function y=Lagrange(x0,y0,x)
%输入:x0:节点变量数据
% y0:节点函数值
% x:插值数据
%输出:y:插值函数值
n=length(x0);m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
end
例1:设
,并给出如下节点数据
x0=[0.4,0.5,0.7,0.8]
y0=[-0.916291,-0.693147,-0.356675,-0.223144]
估计x=0.6的值
带入Lagrange()函数,得到
,实际值:
3.Newton插值
上面介绍的拉格朗日插值多项式,当插值节点增减时,计算要全部进行,很不方便,所以提出一种Newton插值。
(1)差商和差分的性质
一阶差商(均差):
二阶差商(均差):一阶差商的差商
阶差商(均差):(2)Newton插值多项式
(3)误差
(4)差商与导数的关系
matlab代码如下:
function [YY,y]=newton_chazhi(X,Y,x,M)
%输入为:X-插值点的x轴向量
%Y-插值点的y轴向量
%需要求解的x变量
%M为多项式次数
%输出YY为差分表
%y是x对应的因变量
m=length(X);
YY=zeros(m);
YY(:,1)=Y;
%求查分表
for i=2:m
for j=i:m
YY(j,i)=(YY(j,i-1)-YY(j-1,i-1))/(X(j)-X(j-i+1));
end
end
y=Y(1);
%计算newton插值公式
for i=1:M
xl=1;
for j=1:i
xl=xl*(x-X(j));
end
y=y+xl*YY(i+1,i+1);
end
end
function [YY,y]=main()
X=[0.40,0.55,0.65,0.80,0.90,1.05];
Y=[0.41075,0.57815,0.69675,0.88811,1.02652,1.25382];
x=0.596;
M=4;
[YY,y]=newton_chazhi(X,Y,x,M);
end
4.三次Hermite插值
其中:
,余项表达式:
用Hermite进行插值时需要有确定的三个数据点以及中间点的一阶导数。
例:给定
求三次样条插值多项式
,及余项表达式。
matlab代码:
function y=hermiter_chazhi(X,Y,x1,x)
%求差分表
m=length(X);
YY=zeros(m);
YY(:,1)=Y;
for i=2:m
for j=i:m
YY(j,i)=(YY(j,i-1)-YY(j-1,i-1))/(X(j)-X(j-i+1));
end
end
%求A
A=x1-YY(2,2)-(X(2)-X(1))*YY(3,3);
%求插值
y=Y(1)+YY(2,2).*(x-X(1))+YY(3,3).*(x-X(1)).*(x-X(2))+A.*(x-X(1)).*(x-X(2)).*(x-X(3));
end
function y=main_her()
x=[1/4:0.01:9/4];
f=x.^(3/2);
X=[1/4,1,9/4];
Y=[1/8,1,27/8];
x1=3/2;
y=hermiter_chazhi(X,Y,x1,x);
plot(x,y,"r")
grid on
hold on
plot(x,f,"b")
scatter(X,Y)
legend("插值曲线","实际曲线")
end
5.三次样条插值
三次样条插值参考下面的博客:
HappyWang:轨迹生成--三次样条插值zhuanlan.zhihu.com三、常见的拟合方法
HappyWang:回归预测(1)--线性回归和多项式拟合zhuanlan.zhihu.com参考
- ^https://www.zhihu.com/question/24276013
版权声明:本文为weixin_27419879原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。