插值方法——Lagrange插值公式
問題
已知f(x)=ex(3x-ex),利用插值節(jié)點(diǎn)x0=1.00,x1=1.02,x2=1.04,x3=1.06,構(gòu)造三次Lagrange插值公式,由此計(jì)算f(1.03)的近似值,并給出其實(shí)際誤差。
原理
根據(jù)線性插值和拋物線插值的基函數(shù)構(gòu)造方法,令
其中(i=0,1,..n)為n次多項(xiàng)式,滿足
可得:=
則:
根據(jù)上面知識(shí)可以得到本題的公式
誤差:
程序框圖
結(jié)果比較
誤差:
結(jié)論
1. 誤差為 這個(gè)單位級(jí)別可以忽略。
2. =。所以插值方法算出來(lái)基本接近原值。
附件:程序
函數(shù)文件fun.m
function y=fun(x)
y=exp(x)*(3*x-exp(x));
主文件main.m
x=[1.00,1.02,1.04,1.06]; %
xt=1.03;
y=[0 0 0 0];
for i=1:4
y(i)=fun1(x(i)); %f(xi)值
end
sums=0;
for i=1:4
prods=1;
for j=1:4
if(i~=j)
prods=prods*(xt-x(j))./(x(i)-x(j)); %聯(lián)加
end
end
sums=sums+prods*y(i); %聯(lián)乘
end
sums
fun1(xt)
轉(zhuǎn)載于:https://www.cnblogs.com/lecone/archive/2011/05/10/2041965.html
總結(jié)
以上是生活随笔為你收集整理的插值方法——Lagrange插值公式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言2011计算机二级c语言考点:c语
- 下一篇: 外部定义了一个数组,在函数内用指针对其操