APP下载

超松弛迭代法中最优松弛因子的MATLAB数值选取

2016-10-10崔艳星郭伟

长治学院学报 2016年2期

崔艳星,郭伟

(长治学院数学系,山西长治046011)



超松弛迭代法中最优松弛因子的MATLAB数值选取

崔艳星,郭伟

(长治学院数学系,山西长治046011)

超松弛迭代法是数值计算中解大型线性方程组的一种快速有效的方法,而应用超松弛迭代法的关键是要找到合适的松弛因子。文章提出了直接利用黄金分割法计算最优松弛因子,给出了相应的算法程序,最后,通过数值算例验证了该方法是可行且有效的。

线性方程组;超松弛迭代;MATLAB程序;最优松弛因子

1.引言

在科学计算中,经常会遇到求解大型稀疏线性代数方程组的问题,而准确快速的求解是其关键。迭代法是大型稀疏线性方程组的首选解法。在高斯塞德尔迭代法基础上通过某个合适的松弛因子ω进一步进行松弛迭代,能减少计算步骤,极大缩短计算时间,这就是超松弛迭代法[1]。超松弛迭代法中松弛因子ω的取值选择得当,可以极大地加快收敛速度并得到精确度较高的计算解,另外ω的选取直接影响到算法的收敛性及收敛速度[2-9]。科学计算技术的发展及MATLAB软件的成熟,使得我们可以借助SOR迭代法收敛必要条件[2,3],利用松弛因子和谱半径的关系计算最优松弛因子。

2.松弛因子数值计算方法

松弛因子ω的数值计算思想[5]

(1)给出ω的范围,当取不同的ω值时,进行迭代,在符合同一个精度要求下依次求出谱半径的值,比较出最小的谱半径,那么这个最小的谱半径所对应的ω即为所求最佳松弛因子。

(2)给出ω的范围,当取不同的ω值时,进行迭代,看它们在相同精度范围内的迭代次数,找到迭代次数最少的那一个,其所对应的ω即为最佳松弛因子。……

登录APP查看全文