- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验2计算方法.
《计算方法》实验报告
学 院: 计算机学院
专 业: 计算机科学与技术
指导教师: 爨莹
班级学号: 201207010229
姓 名: 图尔荪托合提
实验二 插值法
一、实验目的:
1、掌握直接利用拉格郎日插值多项式计算函数在已知点的函数值;观察拉格郎日插值的龙格现象。
2、了解Hermite插值法原理,结合计算公式,确定函数值。
实验要求:
认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法;
2、编写上机实验程序,作好上机前的准备工作;
3、上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);
4、分析和解释计算结果;
5、按照要求书写实验报告;
三、实验内容:
用拉格郎日插值公式、牛顿插值法确定函数值;对函数f(x)进行拉格郎日插值,并对f(x)与插值多项式的曲线作比较。
已知函数表:(0.56160,0.82741)、(0.56280,0.82659)、(0.56401,0.82577)、(0.56521,0.82495)用三次拉格朗日插值多项式、牛顿插值法求x=0.5635时函数近似值。
四、题目、原理、程序及结论:
Lagrange插值
原理:1.Lagrange插值公式
输入,,,取次多项式作为插值函数,构造一组插值基函数
它满足,并称为拉格朗日插值基函数。
插值多项式为,其满足插值条件 ,并称此多项式为拉格朗日插值多项式。
特别地,当时称为线性插值,其插值多项式为
满足,从几何上看,为过两点的直线。
当时,称为抛物线插值,其插值多项式为
满足。从几何上看为过点和的一条抛物线。
程序:
#includestdio.h
#includeconio.h
#includemalloc.h
float Lagrange(float *x,float *y,float xx,int n)
{
int i,j;
float *a,yy=0.0;
a=(float *)malloc(n*sizeof(float));
for(i=0;i=n-1;i++)
{
a[i]=y[i];
for(j=0;j=n-1;j++)
{ if(j!=i)
a[i]*=(xx-x[j])/(x[i]-x[j]);
}
yy+=a[i];
}
free(a);
return yy;
}
void main()
{
float x[4]={0.56160,0.56280,0.56401,0.56521};
float y[4]={0.82741,0.82659,0.82577,0.82495};
float xx=0.5635,yy;
float Lagrange(float *,float *,float ,int);
yy=Lagrange(x,y,xx,4);
printf(x=%f,y=%f\n,xx,yy);
getch();
}
运行结果:
x=0.563500,y=0.826116
Newton插值
原理:Newton插值公式
输入,,,对,计算函数的各阶差商,
计算Newton插值函数值
程序:
#includestdio.h
void main()
{
float static x[4]={0.56160,0.56280,0.56401,0.56521};
float static y[4]={0.82741,0.82659,0.82577,0.82495};
int i,k;
double c,p;
for (k=1;k=3;k++)
{
printf(\n%dth is:,k);
for(i=3;i=k;i--)
{
y[i]=(y[i]-y[i-1])/(x[i]-x[i-k]);
printf(\n%8.6
您可能关注的文档
- 实验1认识市场上常见的操作系统..doc
- 实验1订单录入与批次需求计划报告单..doc
- 实验1虚拟机安装操作系统..doc
- 实验1认识SPSS软件及频数分布图表的绘制..doc
- 实验1词法分析..doc
- 实验1系统管理与基础设置..docx
- 实验1词法分析程序..doc
- 实验1软件无线电技术实验之六(AM调制)..doc
- 实验1软件设计原则..doc
- 实验1配置Windows系统口令策略及服务..doc
- TCNHFA 111.1582024保健食品用原料香薷团体标准.docx
- TCNHFA 111.1622024保健食品用原料薄荷团体标准.docx
- TCNHFA 111.1632024保健食品用原料桔梗团体标准.docx
- TCNHFA 111.1802024保健食品用原料蒲公英团体标准.docx
- TCNHFA 111.1502024保健食品用原料郁李仁团体标准.docx
- TCNHFA 111.1602024保健食品用原料桑叶团体标准.docx
- TCNHFA 111.1742024保健食品用原料薏苡仁团体标准.docx
- TCNHFA 111.1722024保健食品用原料黄芥子团体标准.docx
- TCNHFA 111.1482024保健食品用原料大枣团体标准.docx
- TCNHFA 111.1572024保健食品用原料香橼团体标准.docx
文档评论(0)