拉格朗日插值法1
ans 0.505 1.122
y2=lagrage(x,y,2PI/9) ;
输出y2=0.6380
均差与牛顿插值多项式
1、1)定义称 为函数 关于 的一阶均差, 称为 的二阶均差。一般的,称 为 的k阶均差(均差也称为差商)。
2)牛顿插值公式推导
根据均差定义,把x看成[a,b]上一点,则有
把后一式带入前一式可得
最后一项中,均差部分含有x,为余项部分,记为
2、例题
设数据 由表给出,表中第4行为 ,可以看出数学模型为 ,用最小二乘法确定a和b。
i
0
1
2
3
4
1.00
5.10
1.629
1.25
5.79
1.756
1.50
6.53
1.876
1.75
7.45
2.008
2.00
8.46
2.135
解:根据给定数据 描图可确定拟合曲线方程为 ,它不是线性形式。两边取对数得 ,若令 ,则得 。为确定A,b,先将 转化为 ,数据见上表。
Function yi=lagrage(x,y,xi)
n=length(x);
S=0;
For k=1:n
t=1;
for(j=1:n)
if j~=k
t=t*(xi-yi)/x(k)-x(j);
end
end
S=t*y(k)+s;
end;
yi=s;
3、例题
1)计算
x
100
121
144
y
10
11
12
解:
L2(x)= +
end
end
for i=1:n;z=1
for k=1:i-1;
z=z*( );
end
end
3、例题
x
1
-1
2
y
0
-3
4
求二次插值
解: x y 一次差商 二次差商
-1 -3
1 0
2 4 4
N(x)=-3+3/2(x+1)+1/6(x+1)(x-1)
在Matlab窗口输入
>>x=[-1,1,2];
Y=[-3 0 4];
拉格朗日抛物线插值法
1、定义若多项式lj(j=0,1,2...n)在n+1个节点x0<x1<...<xn上满足条件
就称这n+1个n次多项式l0(x),l1(x),....ln(x)为节点x0,x1,....xn上的n次插值基函数
称之为拉格rage.m
+
= +
+
L2(115)= +
+
≈10.7228
在Matlab窗口输入
>>x=[100 121 144] ;
y=[10 11 12] ;
y2=lagrage(x,y,115) ;
输出y2=10.7228
2)计算
解:
x
y
0.5
0.707
0.866
在Matlab窗口输入
>>x=[ ] ;
y=[0.5 0.707 0.866] ;
而前面n+1项中,均差部分都不含有x,因而前面n+1项是关于x的n次多项式
这就是牛顿插值公式。于是上式记 。
2、Matlab文件Newtonint.m
function
n=length(x)
D=Zeros(n.n);D(:,1)=
for k=1:n-1;
for i=1:n-k
D(i+k,k+1)=(D(i+k,k)-D(i+k+1,k))/(x(i+k)-x(i));
曲线拟合的最小二乘法
1、Matlab文件 polyfit.m
function p=polyfit(x,y,n)
A=Zeros(n+1,n+1)
for t=0:n
for j=0:n A(i+1,j+1)=sum(x.^(i+j))
end
b(i+1)=sum( ^I,*y)
end
a=A\b’;p=fliplr(a’)
根据最小二乘法,取 ,得
故有法方程
5A+7.50b=9.404
7.50A+11.875b=14.422
解得A=1.122,b=0.505,a=
于是得最小二乘拟合曲线为
在Matlab文件输入
>>x=1:0.25:2
y=[1.629 1.756 1.876 2.008 2.135]
polyfit(x,y,1)