实验报告格式.doc_第1页
实验报告格式.doc_第2页
实验报告格式.doc_第3页
实验报告格式.doc_第4页
全文预览已结束

下载本文档

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

文档简介

数值计算实验报告 学院: 软件学院 专业:软件工程 班级:2012级3班实验名称编写拉格朗日插值法程序姓名 李康学号1402120312成绩一. 实验目的 编写拉格朗日插值法程序 二. 实验原理y=y0 * l0(x) + y1 *l1(x) + +yn * ln(x) Li(x) = bi/ai ai = (xi-x0) * (xi-x1) * *(xi-x(i-1) *(xi-x(i+1) * *(xi-xn)(i = 0,1,2,n) bi = (x-x0) * (x-x1) * *(x-x(i-1) *(x-x(i+1) * *(x-xn)(i = 0,1,2,n)输入x的值,就可计算出bi (i = 0,1,2,n)的值,进而可求出y三. 实验环境Vc+6.0四. 实验过程(编写的程序)#includeusing namespace std;void main()int n;printf(请输入已知点的个数:);scanf(%d,&n);float *p;int *q;p=(float *)malloc(n*sizeof(float);q=(int *)malloc(n*sizeof(int);printf(请依次输入各个坐标点);for(int i=0;in;i+) scanf(%f %d,p+i,q+i);printf(显示各个点的值:n);for(int j=0;jn;j+) printf(%3.2f %dn,pj,qj);float *l,*a,*b;l=(float *)malloc(n*sizeof(float);a=(float *)malloc(n*sizeof(float);b=(float *)malloc(n*sizeof(float);for(int k=0;kn;k+) float s=1.0;for(int j=0;jn;j+) if(j!=k) s=s*(pk-pj);ak=s;/*for(int h=0;hn;h+) printf(%fn,ah);*/float x;int y;printf(请输入x的值:);scanf(%f,&x);for(int z=0;zn;z+) float s=1.0;for(int j=0;jn;j+) if(j!=z) s=s*(x-pj);bz=s;/*for(int g=0;gn;g+) printf(%fn,bg);*/for(int c=0;cn;c+)lc=bc/ac;float sum=0.0;for(int v=0;vn;v+) sum=sum+qv*lv; y=(int)sum; printf(则对应y的值为:); printf(%dn,y);五. 实验结果及分析由上图可知输入已知的5个点x的值就可得到y的近似值六.实验反思运

温馨提示

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

评论

0/150

提交评论