matlab拉格朗日插值法程序

matlab拉格朗日插值法程序,第1张

function yh=lagrange (x,y,xh)

n = length(x)

m = length(xh)

yh = zeros(1,m)

c1 = ones(n-1,1)

c2 = ones(1,m)

for i=1:n

xp = x([1:i-1 i+1:n])

yh = yh + y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2))

end

注:该程序只可一次计算实现一个插值计算。可实现多个插值计算的镇知程序滚碰如下:御备消

function yh=lagrange(x,y,xh)

n = length(x)

m = length(xh)

x = x(:)

y = y(:)

xh = xh(:)

yh = zeros(m,1)

c1 = ones(1,n-1)

c2 = ones(m,1)

for i=1:n,

xp = x([1:i-1 i+1:n])

yh = yh + y(i) * prod((xh*c1-c2*xp')./(c2*(x(i)*c1-xp')),2)

end

计算方法:假设与A1对应的数据是B1,与A2对应的数据是B2,现在已知与A对应的数据是B,A介于A1和A2之间,则可以按照(A1-A)/(A1-A2)=(B1-B)/(B1-B2)计算得出A的数值,其中帆模A1、A2、B1、B2、B都是已知数据。

根据(A1-A)/(A1-A2)=(B1-B)/(B1-B2)可知:(A1-A)=(B1-B)/(B1-B2)×(A1-A2)

A=A1-(B1-B)/(B1-B2)×(A1-A2)=A1+(B1-B)/(B1-B2)×(A2-A1)

插值法又称“内插法”,是利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方法称为插值法。如果这特定函数是多项式,就称它为插值多项式。

如果只需要求出某一个x所对应的函数值,可以用“图解内插”。它利用实验数据提供要画的简单曲线的形状,然后调整它,使得尽量靠近这些点。

如果还要求出因变数p(x)的表达式,这就要用“表格内插”。通常把近似函数p(x)取为多项式(p(x)称为插值多项式),最简单的是取p(x)为一次闹轿码式,即线性插值法。在表格内插时,使用差分法或待定系数法(此时可以利用拉格朗日公式)。在数学、天文学中,插值法都有广液哪泛的应用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12499878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存