APP下载

迭代法求解电路方程组的Matlab软件实现

2021-06-28刘雄峰姚思远

电子测试 2021年6期
关键词:迭代法雅克德尔

刘雄峰,姚思远

(三峡大学电气与新能源学院,湖北宜昌,443002)

0 引言

在电路课程中经常涉及到线性方程组的求解,具体的方法有精确法和迭代法,精确法求解不需要采取近似舍入,而是采用初等变换方法求出方程组的解;迭代法则是通过有限次的迭代,在允许的精度范围内求解方程组的近似解,精度要求设定越高,求解值越趋近与真实值。

1 MATLAB软件和迭代算法简介

MATLAB是美国mathworks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分;MATLAB具有高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。

迭代法也称为转辗法,是一种不断用变量旧值递推新值的过程,迭代算法是用计算机解决数学问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令或步骤时,都将从变量的原值推出它的一个新值[1]。

设有线性方程组Ax=b,其中

选取x0作为方程的初始近似解,以之迭代出一个方程组近似解收敛数组(xk),k≥0。[2]即可将式(1)变为:

根据初始近似解x0,通过如下的迭代过程可以产生迭代根数组。

Pxk+1=Qxk+b,k=0,1,...,当‖P-Q‖<0时数组收敛。

线性方程组的解满足:

将矩阵A作标准分解可得到:A=D+L+U

其中,D=diag(a11,a22,...,amm)

此时可将式(1)变为:

此时,应用雅克比迭代法可以得到:

当应用高斯-赛德尔迭代法可得:

式中 :i=1,...,m;k=1,2,...

计算xi与k-1次迭代值的加权平均ω作为第k次的迭代值,即:

上式也可整理成:

其中ω称为松弛因子,要求0<ω<2。当ω>1时,上式称为逐次超松弛迭代法;当ω=1时,上式即为高斯-赛德尔迭代法;当0<ω<1时,上式称为低松弛迭代法[2]。

2 应用案例

如图1所示的电路图中,已知Ue1=8 V,Ue2=4 V,Ue3=2 V,R1=R2=R4=1 Ω,R3=3 Ω,R5=2 Ω,R6=7Ω,利用迭代法求解Il1Il2Il3。

图1 电路图

本文将针对该应用案例使用MATLAB软件实现雅克比迭代法、高斯-赛德尔迭代法和逐次超松弛迭代法在求解线性电路方程中的应用[3],并对运行结果进行分析。(计算精度控制在10-5)

根据电路等效分析可得:

根据戴维南定理可得:

代入数值:

上述方程组对应于(1)式中的A、b矩阵:

3 迭代法的MATLAB实现

3.1 雅克比迭代法的MATLAB实现

Step1:编写雅克比迭代法的程序

Step2:编写验证程序

Step3:运行验证程序jacobi.m,得到在10-5精度范围内的Il1Il2Il3值和计算机迭代次数如表1所示。

表 1

3.2 高斯-赛德尔迭代法的MATLAB实现

Step1:编写高斯-赛德尔迭代法的程序[4]

Step2:编写验证程序

Step3:运行验证程序gauss.m,得到在10-5精度范围内的Il1Il2Il3值和计算机迭代次数如表2所示。

表2

3.3 逐次超松弛迭代法的MATLAB实现

Step1:编写逐次超松弛迭代法的程序

Step2:编写验证程序

Step3:运行验证程序sor.m,得到在10-5精度范围内的Il1Il2Il3值和计算机迭代次数如表3所示。

表3

说明:这里的最佳松弛因子w为1.15,可以通过w取不同值进行验证。

4 总结

由表1-表3可以看出三种迭代法解线性方程组的收敛速度,三种迭代法达到要求的精度(例题要求精度:10-5)所需的迭代次数如下表所示:

表4

分析表4可以得到逐次超松弛迭代法的收敛速度最快,高斯-赛德尔迭代法次之,雅克比迭代法最慢,通过上面的应用案例可以知道,高斯-赛德尔迭代法可看作是雅克比迭代法的一种改进,逐次超松弛迭代法是高斯-赛德尔迭代法的一种修正。鉴于程序的可移植性,在求解更为复杂的电路时只需要修改程序里的数据参数即可,电路越复杂越能体现计算机的高效。

本文使用了MATLAB软件使电路分析的计算过程得到了极大的简化,同时也为广大学生提供了一种新的解题思路,通过计算机高效的特点,激发学生利用编程软件学习专业知识的兴趣,具有一定的参考价值。

猜你喜欢

迭代法雅克德尔
读书的快乐
迭代法求解一类函数方程的再研究
曾担任过12年国际奥委会主席的雅克·罗格逝世,享年79岁
Eight O’Clock/by Sara Teasdale八点钟
H-矩阵线性方程组的一类预条件并行多分裂SOR迭代法
预条件SOR迭代法的收敛性及其应用
雅克坚信:法雷奥会继续保持强劲的增势
求解PageRank问题的多步幂法修正的内外迭代法
宠物
YankeeDoodle扬基·杜德尔