数值积分实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《计算方法》实验报告实验四数值积分二级学院:计算机学院专业:计算机科学与技术指导教师:爨莹班级学号:姓名:实验一非线性方程的迭代数值解法1、实验目的:①通过编程和插值与拟合中的某种具体算法解决具体问题,更深一步的体会计算方法这门课的重要性,同时加深对插值与拟合公式某种具体算法的理解。②熟悉编程环境。2、实验要求:实现插值与拟合中的某种具体算法编写并执行3、实验内容:1)用牛顿法求解01553x的根,取初始值为10。2)用弦截法求解数学方程。010*15.110*4.181.9*002.0)(255.15xxxf4、题目:非线性方程的迭代数值解法5、原理:1)用牛顿法求解01553x的根的原理:牛顿迭代法是以微分为基础,用直线来代替曲线,由于曲线不规则,那么研究直线代替曲线后,剩下的差值是不是高阶无穷小,如果是高阶无穷小,,只用直线就可以了.。牛顿迭代法是取初始值x0之后,过曲线y=f(x)上的点(x0,f(x0))做切线,切线方程为:y=f(x0)+f’(x0)(x-x0),它与x轴交点横坐标x1为x1=x0-f(x0)/f’(x0)再过曲线y=f(x)上的点(x1,f(x1))做切线,切线方程为y=f(x1)+f’(x1)(x-x1)它与x轴交点横坐标x2为:x2=x1-f(x1)/f’(x1)如此做下去,第n+1条切线方程为:y=f(xn)+f’(xn)(x-xn)它与x轴交点横坐标xn为Xn+1=Xn-f(Xn)/f’(Xn)在这个基础上,从而找到更接近方程根的近似跟。2)用弦截法求解数学方程010*15.110*4.181.9*002.0)(255.15xxxf的原理:设xk、xk+1是f(x)=0的近似根,我们利用f(xk),f(xk+1)构造一次插值多项式p1(x),并用p1(x)=0的根作为f(x)=0的新的近似根xk+1,由于p1(x)=f(xk)+f(xk)-f(xk-1)xk-xk-1(x-xk)(1)因此有xk+1=xk-f(xk)f(xk)-f(xk-1)(xk-xk-1)(2)所以弦截法的几何意义为:依次用弦线代替曲线,用线性函数的零点作为函数零点的近似值6、设计思想:1)用牛顿法求解01553x的根的基本思想是:将非线性方程f(x)=0逐步转化为线性方程来求解,即依次用切线代替曲线,用线性函数的零点作为函数f(x)=0的近似值。2)用弦截法求解根的基本思想是:依次用弦线代替曲线,用线性函数的零点作为函数零点的近似值。7、对应程序:用牛顿法求解01553x#includestdio.h#includemath.hdoubleF1(double);doubleF2(double);doubleNewton(double,double);intmain(intargc,int*argv[]){doublex0=10.0;doublee=pow(10,-5);printf(theresultis%f\n,Newton(x0,e));printf(pause);}doubleF1(doublex){returnx*x*x-155;}doubleF2(doublex){return3*x*x;}doubleNewton(doublex0,doublee){doublex1;do{x1=x0;x0=x1-F1(x1)/F2(x1);}while(fabs(x1-x0)e);returnx0;}用弦截法求解数学方程:#includeiostream#includeiomanip#includecmathusingnamespacestd;doublef(double);doublexpoint(double,double);doubleroot(double,double);intmain(){doublex1,x2,f1,f2,x;do{coutinputx1,x2:;cinx1x2;f1=f(x1);f2=f(x2);}while(f1*f2=0);x=root(x1,x2);coutsetiosflags(ios::fixed)setprecision(7);coutArootofequationisxendl;return0;}doublef(doublex){doubley;y=0.002*9.81-1.4*(1e-5)*sqrt(x*x*x)-1.15*x*x*(1e-5);returny;}doublexpoint(doublex1,doublex2){doubley;y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));returny;}doubleroot(doublex1,doublex2){doublex,y,y1;y1=f(x1);do{x=xpoint(x1,x2);y=f(x);if(y*y10){y1=y;x1=x;}elsex2=x;}while(fabs(y)=0.00001);returnx;}8、实验结果:01553x的根是X=5.3716854010*15.110*4.181.9*002.0)(255.15xxxf的根是X=37.72524639、图形(如果可视化)10、实验体会:插值与拟合中的牛顿法和弦截法都是通过对图形的观察和实际计算方法的运用,从而解决一些复杂的数值问题,我们应熟练掌握它,将其运用于我们的实际生活中。

1 / 6
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功