1 / 4
文档名称:

插值法实验报告.doc

格式:doc   大小:163KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

插值法实验报告.doc

上传人:天天湖人 2022/7/26 文件大小:163 KB

下载得到文件列表

插值法实验报告.doc

文档介绍

文档介绍:实验二插值法
1、实验目的:
1、掌握直接利用拉格郎日插值多项式计算函数在已知点的函数值;察看拉格
郎日插值的龙格现象。
2、认识Hermite插值法、三次样条插值法原理,结共计算公式,确定函数
值。
2
)
0
2
n=i时,
Li=(X-X0)⋯⋯(X-Xi-1)(x-xi+1)
⋯⋯(x-xn)
X-X0)⋯⋯(X-Xi-1)(x-xi+1)⋯⋯(x-xn)
6、设计思想:
拉格朗日插值法是根据
n+1个点x0,x1,...
xn(x0<x1<...xn)的函数值f(x0),
f(x
1
),...,f(x
)推出n次多項式p(x)
,然后n次多項式p(x)求出随意的
n
点x对应的函数值f(x)的算法。
7、对应程序:
1)三次拉格朗日插值多项式求x=
#include""#definen5voidmain( )
{
inti,j;
floatx[n],y[n];
floatx1;
floata=1;
floatb=1;
floatlx=0;
printf("\n请输入想要求解的X:\nx=");
scanf("%f",&x1);
printf("请输入所有点的横纵坐标:\n");
for(i=1;i<n;i++)
{
printf("x[%d]=",i);
scanf("%f",&x[i]);
printf("y[%d]=",i);
scanf("%f",&y[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(j!=i)
{
b=b*(x1-x[j]);
a=a*(x[i]-x[j]);
}
}
lx=lx+b*y[i]/a;
a=b=1;
}
printf("\n求得的解是l(%f)=%f",x1,lx);
}
2)知足插值条件的插值多项式及余项
#include<>
#definem0
#definen1
floatL0(floata,floatx1,floatx0)
{
return(a-x1)/(x0-x1);
}
floatL1(floata,floatx1,floatx0)
{
return(a-x0)/(x1-x0);
}
floatH(floatx0,floatx1,floaty0,floaty1,floatm0,floatm1,floata)
{
floatb;
b=y0*(1-2*(a-x0)/(x0-x1))*L0(a,x1,x0)*L0(a,x1,x0)+y1*(