资源描述:
《数值计算实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012级6班###(学号)计算机数值方法实验报告成绩册姓名:安元龙学号:成绩:实验编号实验名称实验学时实验成绩实验一Newton插值2实验二Romberg算法2实验三求拟合算法2实验四弦截断法2实验五Courant求解方程组2实验六超松弛迭代求解方程组2实验七幂法和反幂法2实验八R-K方法求解初值问题2数值计算方法与算法实验报告学期:2014至___2015第1学期2014年10月26日课程名称:__数值计算方法与算法__专业:信息与计算科学12级5班实验编号:1实验项目Neton插值多项式指导教师__孙峪怀姓名:安元龙学号:实验成绩:一、实验目的及要求实验目
2、的:掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。实验要求:1.给出Newton插值算法2.用C语言实现算法二、实验内容三、实验步骤(该部分不够填写.请填写附页)1.算法分析:下面用伪码描述Newton插值多项式的算法:Step1输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x.Step2形成差商表fori=0tonforj=ntoif(j)=((f(j)-f(j-1)/(x(j)-x(j-1-i));Step3置初始值temp=1,newton=f(0)S
3、tep4fori=1tontemp=(x-x(i-1))*temp/*由temp(k)=(x-x(k-1))*temp(k-1)形成(x-x(0).....(x-x(i-1)*/Newton=newton+temp*f(i);Step5输出f(x)的近似数值newton(x)=newton.#include#defineMAX_N20typedefstructtagPOINT{doublex;doubley;}POINT;intmain(){intn;inti,j;POINTpoints[MAX_N+1];doublediff[MAX_N+1]
4、;doublex,tmp,newton=0;printf("Inputnvalue:");scanf("%d",&n);if(n>MAX_N){printf("TheinputnislargerthenMAX_N,pleaseredefinetheMAX_N.");return1;}if(n<=0){printf("Pleaseinputanumberbetween1and%d.",MAX_N);return1;}printf("Nowinputthe(x_i,y_i),i=0,...,%d:",n);for(i=0;i<=n;i++)scanf
5、("%lf%lf",&points[i].x,&points[i].y);printf("NowinputtheXvalue:");scanf("%lf",&x);for(i=0;i<=n;i++)diff[i]=points[i].y;for(i=0;ii;j--){diff[j]=(diff[j]-diff[j-1])/(points[j].x-points[j-1-i].x);}}tmp=1;newton=diff[0];for(i=0;i6、wton+tmp*diff[i+1];}printf("newton(%f)=%f",x,newton);return0;}数值计算方法与算法实验报告学期:2014至___2015第1学期2014年10月26日课程名称:__数值计算方法与算法__专业:信息与计算科学11级5班实验编号:2实验项目Romberg算法指导教师__孙峪怀姓名:安元龙学号:实验成绩:一、实验目的及要求实验目的:熟练掌握数值积分的基本思想和动手推导积分公式的能力,并写出自己设计的变步长算法,用此算法解决实际问题。主要锻炼分析问题及对数值方法产生的误差在实际执行算法中的变化,体会事前误差
7、和事后误差的不同之处。实验要求:写出Romberg算法的描述,并用此算法计算下列定积分的值,要求满足给定误差。二、实验内容。(1)用变步长的Romberg方法计算定积分:给定误差限为三、实验步骤(该部分不够填写.请填写附页)1.算法分析:下面用伪码描述Romberg的算法描述:Sstep1输入区间端点a,b,精度控制值e,循环次数M,定义函数f(x),取n=1,h=b-a;Step2R1,1=(f(a)+f(b))*h/2;Step3fork=2toM{Rk,1=(R(k-1),1+h(k-1)*/**/forj=2tok{}if退出循环}Step4输出.2.用
8、C语言实现算法的程序代码