内容发布更新时间 : 2024/11/19 22:32:56星期一 下面是文章的全部内容请认真阅读。
拉格朗日多项式为
Ln?x???yklk?x?
k?0n式中
x?x0???x?xk?1??x?xk?1???x?xn?? lk?x???xk?x0???xk?xk?1??xk?xk?1???xk?xn?给定函数表如下
x y?e x ? ? 0.1 1.1052 0.2 1.2214 0.3 1.3499 0.4 1.4918 0.5 1.6487 ? ? 0.285x?0.2,x?0.3e011)取计算的近似值
2)取
x0?0.2,x1?0.3,x2?0.4计算e0.285的近似值
function LagrangeSpline x0=[0.1,0.2,0.3,0.4,0.5];
y0=[1.1052,1.2214,1.3499,1.4918,1.6487]; xq=0.285; x=x0(2:4); y=y0(2:4);
yq=LagrangePoly(x,y,xq) return;
function yq=LagrangePoly(x,y,xq) xnum=length(x);ynum=length(y);
if xnum==ynum for k=1:xnum H1(k,:)=xq-x; H1(k,k)=1; H2(k,:)=x(k)-x; H2(k,k)=1; end;
L=prod(H1,2)./prod(H2,2); end;
yq=sum(L'.*y); return;