拉格朗日牛顿插值法实验报告_第1页
拉格朗日牛顿插值法实验报告_第2页
拉格朗日牛顿插值法实验报告_第3页
拉格朗日牛顿插值法实验报告_第4页
拉格朗日牛顿插值法实验报告_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

标题:实验一拉格朗日插值法算法与牛顿插值算法一、实验目的:体会并了解拉格朗日插值法,用计算机插入X值,输出相应的y值。体会并了解牛顿插值法,用计算机插入x值,输出相应的y值。二、实验原理:拉格朗日插值法的插值公式:Ln(X)_弋,(X-x0)(x-X1)...(x-xn)一4yk(x-xk)(xk-X0)…(xk-XkT)(Xk-Xk+1)…(xk-xn)k=0牛顿插值法的插值公式:P(x)=f(x)+f[x,x](x—X)+f[x,X,x](x—x)(x—X)+…n''0^lo1」、oylo12」、0八/±±\J\J-L.\J\J-L.。\J-L.+f[x0,xi,.,xn](x-x0).(x-xn-i)f「1中f(Xj)f[x,x,•••,x「]=〉j^三、01k(x—x)・・・(x—x)(x—x)・・・(x—X)j=0(xjx0)(XjXj-i)(XjXj+1)(XjXk)算法设计与程序流程图:^三、拉格朗日插值法算法分析:输入节点的个数j。输入节点的横纵坐标。输入新插入的节点的横坐标。d.通过两次循环求得新插入节点的纵坐标。程序流程图:k=0;k<=j-1;k++e=0?开始d=newx-b1;f=d*w2;l=b2*w1/f;L=L+l;w1=1;w2=1;a=x[i];c=newx-a;w1=w1*c;e=b1-a;输入插值个数j输入插入的x[]、y[]b1=x[k],b2=y[k]w2=w2*(e+1)w2=w2*e牛顿插值算法分析:a.输入节点的个数j。»输入节点的横纵坐标。仁输入新插入的节点的横坐标。通过两次循环求得新插入节点的纵坐标。程序流程图:

#include"stdafx.h"#include"stdio.h"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);I=b2*wl/f;printf(,,l=%f\n,,,l);L=L+I;wl=l;w2=l;}printf("newy=%f",L);}if(flag==2)(printf("请输入插入的数值:scanf("%f",&newx);for(f=0;f<=j-l;f++)(for(k=0;k<=f;k++)(bl=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.1.拉格朗日插值法:x=0.32y=M.x=0.32y=M.314557第2组为:x-0.34y=0.3334B7第地为=x=0.36请选择土拉格朗E插值.2,牛顿插值,虬退出.:青输入插入的数值"-3耶?£=0.0000131=0.030234f=0.0000011=0.324408£=-0.0000191-6.0242G?newi;=0.330374Pressanykeytocontinue^2.牛顿插值法:请畅入数据,不骨超河20组.膏翳?居为几组泻x=0.40y=0.41075第2组为:x=0.55y-0.57815第3组为:x=0.65y=0.69675第4组为:x-0.80y=0.88811第5组为:x=0.9By=1.02652请选择拉格朗日插值.酢牛顿插值。日,退出.请输入插入的数值:8-596newy=0.631918Ffcssanykeytocontinue.六、结果分析:引用课本例2进行拉格朗日插值法验证,与课本上的结果相一致,引用课本例4进行牛顿插值法验证,与课本答案相差0.000002,是因为课本的有效数字与计算机取得不同,所以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论