欢迎来到天天文库
浏览记录
ID:10714337
大小:54.50 KB
页数:3页
时间:2018-07-07
《二分法求解单变量非线性方程及其应用与实现论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、二分法求解单变量非线性方程及其应用与实现论文论文关键词:二分法单变量非线性方程收敛性误差论文摘要:本文主要通过一个实例来研究单变量非线性方程f(x)=0的二分法求解及此方法的收敛性,根据误差估计确定二分次数并进行求解。同时实现matlab和C语言程序编写。从而掌握过程的基本形式和二分法的基本思想,在以后的学习过程中得以应用。1.引言在科学研究与工程技术中常会遇到求解非线性方程f(x)=0的问题。而方程f(x)是多项式或超越函数又分为代数方程或超越方程。对于不高于四次的代数方程已有求根公式,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。
2、因此,如何求得满足一定精度要求的方程的近似根也就成为了我们迫切需要解决的问题。近年来,随着数学科学研究的不断进展,又更新了许多方程求解的方法。我们知道.freelatlab实现与C语言实现6.1%二分法的算法及MATLAB实现functionc,err,yc=bisect(f,a,b,delta)%f是所要求解的函数%a和b分别是有根区间的左右限%delta是允许的误差界%c为所求的近似解%yc为函数f在c上的值%err是c的误差估计ifnargin4delta=1e-5;endya=feval(’f’,a);yb=feval(’f’,b);ifyb==0,c=
3、b,returnendifya*yb0disp(’(a,b)不是有根区间’);returnendmax1=1+round((log(b-a)-log(delta))/log(2));fork=1:max1inputabe:121e-5solution:1.32472源码如下:#includestdio.h#includestdlib.h#includemath.h#includeassert.hdoublef(doublex){return1+x-x*x*x;}intmain(){doublea=0,b=0,e=1e-5;printf("inputabe:");
4、scanf("%lf%lf%lf",a,b,e=fabs(e);if(fabs(f(a))=e){printf("solution:%lg/n",a);}elseif(fabs(f(b))=e){printf("solution:%lg/n",b);}elseif(f(a)*f(b)0){printf("f(%lg)*f(%lg)0!need=0!/n",a,b);}else{while(fabs(b-a)e){doublec=(a+b)/2.0;if(f(a)*f(c)0)b=c;elsea=c;}printf("solution:%lg/n",(a+b)/2
5、.0);}return0;}7.方法总结7.1二分法解题的基本步骤:1)计算f(x)的有根区间a,b端点处的值f(a),f(b)。2)计算f(x)的区间中点的值f((a+b)/2)。3)进行函数值的符号比较。4)根据误差估计二分到一定次数达到精度,从而求得近似值。7.2二分法的优缺点:优点:算法简单,容易理解,且总是收敛的缺点:收敛速度太慢,浪费时间所以,在以后的学习过程中,我们将根据方程的形式和二分法的优缺点不单独将其用于求根,只用其为根求得一个较好的近似值,方便其他方法的运算。8.结论(1)针对现实中的许多剖面设计、轨道设计等关键参数方程中三角函数多、计算工
6、作量较大、迭代收敛条件强等问题,采取数学变化的方法将该方程转化成一个只包含对数函数和多项式函数的新方程,并提出了寻找求解区间的步长搜索算法和自适应步长搜索算法,进而使用二分法求新方程的数值解。(2)数学分析和数值实践表明,该算法不仅能够正确判断设计方程是否有解,而且在有解的情况下能够正确求出该解,计算量小,计算过程稳定。
此文档下载收益归作者所有