使用背景:在工程实践和科学实验中, 常常需要从一组观测数据之中找到自变量与因变量间的函数关系,一般可用一个近似函数来表示。函数的产生办法因观测数据和要求的不同而各异,数据插值与拟合是两种常用的方法。
函数插值来源于函数的以下问题:
只知道函数在某区间有定义且已得到区间内的一些离散的点的值,希望能用简单的表达式近似给出函数在此区间上的整体描述,并能与已知离散点上的值相等。
language插值代码:
function L=language(x,y,x0)
n=length(x);
syms t;
L=0;
for k=1:n
lx=1;
for j=1:k-1
lx=lx*(t-x(j))/(x(k)-x(j));
end
for j=k+1:n
lx=lx*(t-x(j))/(x(k)-x(j));
end
L=L+y(k)*lx;
end
if nargin==3
L=subs(L,'t',x0);
else
L=collect(L);
L=vpa(L,6);
end
牛顿插值法:
function N=newton(x,y,x0)
n=length(x);
syms t;
N=y(1);
f=0;
lx=1;
for i=1:n-1
for j=i+1:n
f(j)=(y(j-1)-y(j))/(x(j-i)-x(j));