资源描述:
《数值分析牛顿插值法实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析牛顿插值法实验报告数值分析牛顿插值法实验报告篇一:数值分析课程实验报告-拉格朗日和牛顿插值法《数值分析》课程实验报告用拉格朗日和牛顿插值法求解函数值算法名称用拉格朗日和牛顿插值法求函数值学科专业机械工程作者姓名程习康作者学号153711006作者班级机电院研究生15级C2班中南大学二〇一五年十二月《数值分析》课程实验报告篇二:数值分析实验报告:拉格朗日插值法和牛顿插值法实验一报告拉格朗日插值法一、实验目的1、学习和掌握拉格朗日插值多项式2、运用拉格朗日插值多项式进行计算二、实验原理根据x0,x1,…xn;y0,y1,…yn构造插值多项式其表达式为:将插值点x代入上式,就可得到函数f
2、(x)在点x处的函数值的近似值。三、运行结果四、代码usingSystem;usingSystem.Cllectins.Generic;usingSystem.Linq;usingSystem.Text;namespaceCnsleApplicatin3{classPrgram{staticdublelglr(duble[]x,duble[]y,dublex1,intn){dubleresult=0.0;fr(inti=0;ii++){dubletemp=y[i];fr(intj=0;jj++){if(j==i)cntinue;temp=temp*(x1-x[j]);temp=temp/(
3、x[i]-x[j]);}result=result+temp;}returnresult;}staticvidMain(string[]args){duble[]x;duble[]y;Cnsle.riteLine(请输入插值点数:intlength=Cnvert.TInt32(Cnsle.ReadLine);x=neduble[length];y=neduble[length];fr(inti=0;ilength;i++){Cnsle.rite(请输入第{0}个点的x值:,i+1);x[i]=Cnvert.TDuble(Cnsle.ReadLine);Cnsle.rite(请输入第{0}个
4、点的y值:,i+1);y[i]=Cnvert.TDuble(Cnsle.ReadLine);}Cnsle.riteLine(请输入x1值:dublex1=Cnvert.TDuble(Cnsle.ReadLine);dubleresult=lglr(x,y,x1,length);Cnsle.rite(插值计算结果为:{0}:,result);Cnsle.ReadLine;}牛顿插值法一、实验目的体会并了解牛顿插值法,用计算机插入x值,输出相应的y值。二、实验原理根据x0,x1,…xn;y0,y1,…yn构造插值多项式Nn(x)=f(x0)+f(x0,x1)(x-x0)+…+f(x0,x1,…
5、xn)(x-x0)(x-x1)…(x-xn-1)牛顿差值公式中各项的系数就是函f(x)的各阶均差(差商)f(x0),f(x0,x1),f(x0,x1,…xn),因此,在构造牛顿差值公式时,常常先把均差列成一个表,此表称为均差表。三、运行结果四、代码usingSystem;usingSystem.Cllectins.Generic;usingSystem.Linq;usingSystem.Text;namespacenetn{classPrgram{staticdublechashang(intn,duble[]x,duble[]y){dublef=0;dubletemp=0;fr(inti
6、=0;in+1;i++){temp=y[i];fr(intj=0;jn+1;j++)if(i!=j)temp/=(x[i]-x[j]);f+=temp;}returnf;}staticdubleniudun(duble[]x,duble[]y,dublex1){dubleresult=0.0;fr(inti=0;ix.Length;i++){dublef=chashang(i,x,y);dubletemp=1.0;fr(intj=0;jj++){temp=temp*(x1-x[j]);}result=result+f*temp;}returnresult;}staticvidMain(st
7、ring[]args){duble[]x;duble[]y;Cnsle.riteLine(请输入插值点数:intlength=Cnvert.TInt32(Cnsle.ReadLine);x=neduble[length];y=neduble[length];fr(inti=0;ilength;i++){Cnsle.rite(请输入第{0}个点的x值:,i+1);x[i]=Cnvert.TDuble(Cnsle.ReadL