拉格朗日牛顿插值法实验报告.docx

上传人:b****7 文档编号:11068531 上传时间:2023-02-24 格式:DOCX 页数:9 大小:111.49KB
下载 相关 举报
拉格朗日牛顿插值法实验报告.docx_第1页
第1页 / 共9页
拉格朗日牛顿插值法实验报告.docx_第2页
第2页 / 共9页
拉格朗日牛顿插值法实验报告.docx_第3页
第3页 / 共9页
拉格朗日牛顿插值法实验报告.docx_第4页
第4页 / 共9页
拉格朗日牛顿插值法实验报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

拉格朗日牛顿插值法实验报告.docx

《拉格朗日牛顿插值法实验报告.docx》由会员分享,可在线阅读,更多相关《拉格朗日牛顿插值法实验报告.docx(9页珍藏版)》请在冰豆网上搜索。

拉格朗日牛顿插值法实验报告.docx

拉格朗日牛顿插值法实验报告

--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--

 

拉格朗日牛顿插值法实验报告(总10页)

标题:

实验一拉格朗日插值法算法与牛顿插值算法

一、实验目的:

1.体会并了解拉格朗日插值法,用计算机插入x值,输出相应的y值。

2.体会并了解牛顿插值法,用计算机插入x值,输出相应的y值。

二、实验原理:

1.拉格朗日插值法的插值公式:

2.牛顿插值法的插值公式:

三、算法设计与程序流程图:

1.拉格朗日插值法算法分析:

a.输入节点的个数j。

b.输入节点的横纵坐标。

c.输入新插入的节点的横坐标。

d.通过两次循环求得新插入节点的纵坐标。

程序流程图:

 

 

2.牛顿插值算法分析:

a.输入节点的个数j。

b.输入节点的横纵坐标。

c.输入新插入的节点的横坐标。

d.通过两次循环求得新插入节点的纵坐标。

程序流程图:

 

 

四、源程序:

#include""

#include""

intmain()

{

floatx[20],y[20];

intk,j,i,flag;

floata,b1,b2,c,d,e,f,w1,w2,l,L,newx,P;

w1=1;

w2=1;

L=0;

P=0;

printf("请输入数据,不得超过20组。

\n");

printf("输入的数据为几组:

");

scanf("%d",&j);

for(i=0;i<=j-1;i++)

{

printf("第%d组为:

\n",i+1);

printf("x=");

scanf("%f",&x[i]);

printf("y=");

scanf("%f",&y[i]);

}

printf("请选择:

1,拉格朗日插值。

2,牛顿插值。

0,退出。

\n");

scanf("%d",&flag);

if(flag==1)

{

printf("请输入插入的数值:

");

scanf("%f",&newx);

for(k=0;k<=j-1;k++)

{

b1=x[k];

b2=y[k];

for(i=0;i<=j-1;i++)

{

a=x[i];

c=newx-a;

w1=w1*c;

e=b1-a;

if(e!

=0)

{

w2=w2*e;

}

if(e==0)

{

e=e+1;

w2=w2*e;

}

}

d=newx-b1;

f=d*w2;

printf("f=%f\n",f);

l=b2*w1/f;

printf("l=%f\n",l);

L=L+l;

w1=1;

w2=1;

}

printf("newy=%f",L);

}

if(flag==2)

{

printf("请输入插入的数值:

");

scanf("%f",&newx);

for(f=0;f<=j-1;f++)

{

for(k=0;k<=f;k++)

{

b1=x[k];

b2=y[k];

for(i=0;i<=f;i++)

{

a=x[i];

e=b1-a;

if(e!

=0)

{

w1=w1*e;

}

elseif(e==0)

{

e=e+1;

w1=w1*e;

}

}

l=b2/w1;

L=L+l;

w1=1;

c=newx-b1;

w2=w2*c;

}

d=L*w2/c;

w2=1;

P=P+d;

L=0;

}

printf("newy=%f",P);

}

if(flag==0)

{

return0;

}

}

五、程序执行情况:

1.拉格朗日插值法:

2.牛顿插值法:

六、结果分析:

引用课本例2进行拉格朗日插值法验证,与课本上的结果相一致,引用课本例4进行牛顿插值法验证,与课本答案相差,是因为课本的有效数字与计算机取得不同,所以经过计算、运行基本达到了预期效果。

此程序可以用做数学计算。

七、实验体会:

经过此次实验基本上了解了拉格朗日插值法的算法和牛顿插值法算法的过程,对以后算法的运用和其他算法的理解有帮助,而且有助于编程能力的提高和实际问题的理解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1