数值计算方法实验1
《数值计算方法实验1》由会员分享,可在线阅读,更多相关《数值计算方法实验1(10页珍藏版)》请在装配图网上搜索。
1、ODD滋:教师签字:实验目的:熟悉用二分法,迭代法,牛顿法和弦截法求解非线性方程实验环境:硬件环境:一或兼容机软件环境:操作系统编程语言:语言实验内容:一. 用二分法求方程的正根,要求准确到小数点后第一位二. 用迭代法和牛顿法求解方程在附近的一个根,要求精确到小数点后三位三. 用双点弦截法求方程在区间丨,内的一个实根,精确到五位有效数字实验步骤:一. 二分法的步骤计算于0丿在有解区间,为端点处的函数值,f(a),f(b).计算于0丿在区间中点处的值f(x)a+b判断若于。丿=0,则0=即是根,否则检验:()若于。丿与ya丿异号,则知解位于区间,,以代替;()若于化丿与ya丿同号,则知解位于区间
2、,代替反复执行步骤、,便可得到一系列有根区间:,,,,其中每个区间都是前一个区间的一半,因此区间长度为1b-a=(b-a)kk2k二分法的流程图:迭代法和牛顿迭代法的步骤1. 将方程/(X丿=0化为一个等价的方程x=p(x)2. 从而构成序列,=9()=0,1,2,k+1k3. 如果(X)连续,迭代序列%收敛于兀*,则x*就是方程的解k牛顿迭代法与迭代法的不同之处是迭代公式不同,即:XP+1伙=0,1,2,)f(x)k广(兀)k迭代法的流程图:牛顿迭代法的流程图只需将牛顿迭代法中的迭代公式替换迭代法中的迭代公式即可三.双点弦截法的步骤)-/(X)将牛顿迭代法中的导数厂(x)改用一;_兀X来代替
3、,就可以得到迭代公式kk-1)、X二兀一k(XX)k+1k/(x)-/(x)kk-1kk-1双点弦截法流程:2实验结果:一. 使用二分法求解方程方程的正根位于之间,输入区间和精度后,输出的值为1.593750,精确到小数点后第一位,则答案为。二. 使用迭代法和牛顿迭代法求解方程迭代法中构造迭代公式很重要,迭代公式构造好后即可开始。输入初值和精度后,迭代法输出结果为0.567277,牛顿迭代法输出结果为0.567143,精确到小数点后第三位后,答案为0.567。与迭代法相比,牛顿迭代法的收敛速度更快,且更加接近准确值三. 双点弦截法构造迭代公式后,输入初始的两个点和精度,双点弦截法输出结果为1.
4、525102,精确到五位有效数字后,答案为1.5251附录(源程序及运行结果):一.二分法#include#includedoublef(doublex)returnx*x-x-l;voidmain()floata=0,b=0,x=l,m,e;intk;while(f(a)*f(b)0)printfCiW输入区间a,b的值。以及精度en);scanf(%f,%f,%f,&a,&b,&e);k=0;if(f(a)*f(b)=O)if(f(a)=O)printf(使用二分法输出:a=%f,k=%dn,a,k);elseprintf(使用二分法输出:b=%f,k=%dn,b,k);elsewhile
5、(f(a)*f(b)!=O)m=(a+b)/2;if(fabs(a-b)/20)a=m;elseb=m;k=k+l;运行结果:3小YDocuAeii-tsandSettingsDE幘输入区间Lh的值。以及精度.1,2,0.05贋用二分法输出:E-5切5dk=4Pressanykeytocontinue二.迭代法与牛顿迭代法#include#includedoublef(doublex)returnexp(-x);doublefl(doublex)return(x*exp(x)-l);doubleff(doublex)return(exp(x)+x*exp(x);voiddiedaifa(dou
6、blexO,doublee,intN)doublexl;intk=l;while(k!=N)xl=f(xO);if(fabs(xl-xO)=e)k+;if(k=N)printf(迭代失败!n);xO=xl;elseprintf(使用迭代法输出结果:%mn,xl);break;voidNDdiedaifa(doublexO,doublee,intN)intk=l;doublexl;while(k!=N)if(ff(xO)=O)printf(公式f(x)奇异!n);elsexl=xO-fl(xO)/ff(xO);if(fabs(xl-xO)=e)k+;if(k=N)printf(迭代失败!n);x
7、O=xl;elseprintf(使用牛顿迭代法输出结果:%mn,xl);break;voidmain()doublexO,e;intN;printf(iW输入初值:”);scanf(%lf,&xO);printf(精度:”);scanf(%lf,&e);printf(以及判定迭代失败的最大次数N:);scanf(%d,&N);diedaifa(xO,e,N);NDdiedaifa(xO,e,N);运行结果:四. 双点弦截法#include#includedoublef(doublex)return(x*x*x+3*x*x-x-9);voidmain()doublex0,xl,x2,e;intN;intk=l;printf(iW输入初值xO和xl:);scanf(%lf,%lf,&xO,&xl);printf(精度:”);scanf(%lf,&e);printf(以及判定迭代失败的最大次数N:);scanf(%d,&N);while(k!=N)x2=xl-f(xl)*(xl-x0)/(f(xl)-f(x0);if(fabs(f(x2)=e)k+;if(k=N)printf(迭代失败!n);xO=xl;xl=x2;elseprintf(使用双点弦截法输出结果lfn,x2);break;运行结果:4
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。