- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析非线性方程求解(五种方法)
数值分析实验——分析牛顿法、割线法、对分法、Steffensen法、简易牛顿法解线性方程组的性质聂隐要本报告介绍了牛顿法、割线法、对分法、Steffensen法、简易牛顿法五种算法原理及设计,检验了使用Matlab实现的对非齐次线性方程求根的程序,验证了五种算法的不同性能。本文在使用牛顿法求非齐次线性方程零点中,通过误差分析,得出其收敛是二次的,比对分法与割线法要快,这就保证在求零点时,需要更少的步数就能得出在精度范围内的结果,其收敛快(二次),稳定性好,且算法简单,但是值得指出的是牛顿法是一种局部收敛算法,且不能存在。对于割线法,同样通过误差分析得出,可知其收敛是超线性的,但比牛顿法要慢,较对分法快;同时在割线法中本文指出,其每次迭代只需要一次函数赋值,而牛顿法需两次,而对于割线法中的两步,其收敛性要比牛顿二次收敛好的多,因此在函数赋值上割线法工作量较少,且避免求导,但是需要给出两个较好的初始值,且越小会导致失真。对于对分法,其收敛是一次的,且算法简单且只要存在根就总是收敛的,但是由于一次收敛所以收敛速度较前三种方法慢。对于steffensen法,当出现不能用,或者计算导数比求函数更加复杂时使用,且具有与牛顿法同样的二阶收敛速度。对于简易牛顿法,是对牛顿法的一种改造,以时间效率来换空间效率的方式减少了对各个函数点的导数计算,从一定程度上节省了空间,但收敛阶数低于牛顿法,通常较牛顿法慢。牛顿法的性质1.1原理描述:设已知方程的近似根,则在附近可用一阶泰勒多项式近似代替。因此,方程可近似表示为。用满足方程的近似表示根差异不大。 设,由于满足,解得 重复这以过程,得到迭代格式。1.2算法描述 迭代公式:,初值设为,最大迭代次数为n,迭代次数为i(i=0),最终结果设为c,要求精度为e;Step1. Step2. 若,,重复第一个步骤 若,break,则零点为割线法的性质2.1原理描述我们知道,牛顿迭代是由下式定义:,牛顿法的一个缺点是它需要求零点的函数导数,为了克服这一缺点,给出采用差商:代替牛顿迭代中的,得到割线法的迭代公式: 2.2算法描述初始值为x1,x0,精度为e,步骤记录为i(i=0);Step1. Step2. 若,,重复第一个步骤 若,break,则零点为对分法的性质3.1算法描述设是区间[a,b]上的连续函数,且 ,则a和b之间有一个零点,当,计算,且检查是否,检查零点在[a,c]之间还是[c,b]之间,若在[a,c]之间则把c换成b在新的区间上重复上面的步骤,若在[c,b]则把c换成a继续上面步骤。i为迭代步骤(i=0),初始点为x(0),x(1),精度要求为eStep1.x(i+2)=(x(i)+x(i+1))/2,若abs(f(x(i+2)))e,则停止运算,输出零点为x(i+2)Step2.若f(i)f(i+2)0,令x(i+2)=x(i+1),否则令x(i+2)=x(i);Step3.重复第一步与第二步直到达到精度。Steffensen法4.1原理描述Steffensen法的原理与割线法类似,为了克服牛顿法中求导这一缺点,使用g(x)代替,其中g(x)如下:;因此迭代函数为:4.2算法描述迭代步数为i(i=0),精度要求为eStep1.计算Step2.若norm(x(i+1)-x(i))e,则break,输出零点为x(i+1)若norm(x(i+1)-x(i))e,i=i+1,重复上述步骤,直到达到精度。简易牛顿法5.1原理描述简易牛顿法,是在牛顿法的基础上,对初始点只求一次导数,然后每次利用代替中的,这样处理后减少了牛顿的计算量,降低了空间上对各个迭代点导数的存储,但同样降低了运算速率.5.2算法描述初值设为x0,i为迭代步数,精度为eStep1. Step2.若,迭代结束,若,转至下一步Step3. ,继续迭代前两步,直至达到精度。计算机配置处理器Inter(R) Core(TM) i3 CPU M350 @ 2.27GHz 2.27GHz安装内存(RAM):4.00GB(3.87GB可用)3. 系统类型 Windows7 64位操作系统4. Matlab版本 Matlab 7.12.0(R2011a)案例分析参数设置:精度:最大迭代次数:30 函数选取:,如下图:图7-1 函数图形初值选取:五种方法的第一个初值点均选相同点,对于牛顿法,简易牛顿法,Steffensen法,只需要一个初值点。而对分法,割线法需要两初值点的情况下,我们根据函数图象可以设置一个合适的初值点,由于某些算法带有局部性,本文在此考虑比较各个算法在区间[2,3]上寻找零点的优越性。输出结果本文通过比较各个算法的迭代步数,迭代精度,运算时间,来评判各个算法的优越性,并描绘出计算方程过程中的几何图像。求区间[2
文档评论(0)