.
用超松弛迭代法求解接地金属槽内电位分布
一、实验内容:
试用超松弛迭代法求解接地金属槽内电位的分布。
已知:
a 4cm
,
h a / 4 10mm
给定边值如图所示。
给定初值:
i
(
,
0
j
)
0
误差范围:
10
5
计算迭代次数,
i, j
分布。
二.实验设计原理:有限差分法
有限差分法(Finite Differential Method)是基于差分原理的一种数值计算法。其基本思
想:将场域离散为许多小网格,应用差分原理,将求解连续函数ϕ的泊松方程的问题换为求解网
格节点上ϕ的差分方程组的问题。
编程时已经考虑到题目要求,所以直接将边值编入到程序中,编写成function的M文件,这
样只要调用此M文件,输入变量为迭代因子,即可输出电位矩阵和迭代次数。
迭代时所用公式为
U2(i,j)=U1(i,j)+a*(U1(i,j+1)+U1(i+1,j)+U2(i-1,j)+U2(i,j-1)-4*U1(i,j))/4
其中U2代表k+1,而U1代表k。
以上分析了迭代程序的实现,但是迭代循环如何终止并未说明。题目中的误差范围ε
=0.00001,即当两次迭代结果相差不超过ε时停止,这里必须是九点都满足不超过ε,而并不
是其中某一点达到即可。当迭代次数过多时,程序会运行很长时间,(本题要求电位点数较少,
不会出现迭代次数过多的情况。当然点数越多结果越精确。)当迭代因子a 2时,迭代不收敛,
0
0
0
100 V
程序会陷入死循环,因此需要限制循环次数,迭代100000次无结果则退出循环,防止程序崩溃。
这样可以画出流程图如下所示:
启动
输入迭代因子
迭代次数 k=0
k=k+1
开始循环迭代
函数判断相邻二
否
次差值是否小于
给定值
是
输出 k,电位 U1
三、程序运行界面及结果
.
终止