MATLAB实现的用二分法,割线法,牛顿迭代法求解方程的根的实验报告
摘要
本文分别采用了“二分法”、“牛顿法”、 “割线法”、3种方法讨论如何求解方程“x3 9=0”,描述了每个算法的算法思想,给出了计算结果与迭代时间以及每一步迭代结果和解的精度,并且用多项式拟合了不同算法的时间复杂度函数进行收敛性和时间复杂度分析比较了的优劣。在最后报告给出了其他可供使用的求根方法例如,“简易牛顿算法”、Steffensenf迭代法并对它的思想和计算流程进行了简单的介绍。
关键词:二分法 牛顿法 割线法 简易牛顿法 Steffensenf迭代法
一、计算机配置
操作系统:windows7旗舰版
处理器:Intel(R) Core(TM) i5-3210M CPU@2.50GHz
安装内存(RAM):4.00GB(2.91GB可用)
系统类型:32位操作系统
二、二分法计算实验
2.1 二分法算法思想和简要描述
若f是区间[a,b]上的连续函数,且f(a)f(b)<0,根据连续函数闭区间零点定
理,f在[a,b]内必有一零点。
利用这一思想:若f(a)f(b)<0,则计算c=(a+b)/2,并检验f(a)f(c)<0是否是
真的,若是把c改为b重新开始;若不是真的,则f(c)f(b)<0,把c改为a;反复重复上述过程。
2.2 MATLAB运行二分法程序
二分法求解f=x^3-9的根
参数设置:a,b设置为估计零点所在区间的上确界和下确界。 n设置为二分法for语句迭代次数。
alpha设置为最后结果f(x)的精度。
delta设置为最后结果x的精度。
(若alpha,delta都符合设置的计算精度时,结束迭代并得
出计算结果,否则一直迭代到n次)
设置初始值:设置参数a,b分别为为2,3;迭代次数n为50次;alpha
和delta都设置为0.001。
列出计算结果:>> erfen(f,2,3,50,0.001,0.001)
n a b delta alpha 1.0000 2.0000 2.5000 0.5000 19.0000
2.0000 2.0000 2.2500 0.2500 7.6250
3.0000 2.0000 2.1250 0.1250 3.3906