基于MATLAB的静态场边值问题有限差分法的研究
静态场的边值问题 优秀课件

①变量的分离
2220
x2 y2 z2
令 (x ,y ,z ) f(x )g (y )h (z ),并代入上式
并两边同除以 f(x)g(y)h(z)得
1 2f(x)1 2g(y)12h(z)0 f(x) x2 g(y) y2 h(z) z2
k
2 x
k
2 y
k
2 z
则上式分解成三个独立的全微分方程,即
k xi ,k yi ,k zi ( i 1 ,2 ,3 , ,n )
本征值对应的函数称为本征函数或本征解。
所有本征解的线性叠加构成满足拉普拉斯方程的通解
(x,y,z) n i(x,y,z) nfi(x)g i(y)h i(z)
i 1
i 1
在许多问题中,单一本征函数不能满足所给的边界条件,而级 数形式的通解则可以满足单个解函数所无法满足的边界条件。
令 f = 0,即可得到拉普拉斯方程情况的证明
3、应用 求解边界问题时,可以先将复杂边界条件分解成便于求解 的几个边界条件,则总的边界问题解就是这些解的叠加。
例:
2 0
s1 C 1
s2 C 2
s3 C 3
分解为三个边界问题
21 0
1
s1
C1
1
s2
0
1 s3
0
22 0
静态场的边值问题
边值问题 研究方法
解析法 数值法
分离变量法
镜像法
复变函数法
有限差分法 有限元法 边界元法 矩量法 模拟电荷法
• • • •
§5.1 唯一性定理和解的叠加原理
一. 唯一性定理
1、表述
在给定的区域内,泊松方程(或拉普拉斯方程)满足所给 定的全部边界条件的解是唯一的。 2、边界条件的形式
matlab有限差分法求解非齐次偏微分方程

matlab有限差分法求解非齐次偏微分方程【导语】本文将介绍matlab有限差分法在求解非齐次偏微分方程中的应用。
非齐次偏微分方程是数学和物理学中的常见问题之一,它们描述了许多实际系统的行为。
通过有限差分法,可以将偏微分方程转化为差分方程,从而利用计算机来求解。
本文将从原理、步骤和实例三个方面来分析非齐次偏微分方程的有限差分法求解过程。
【正文】一、原理有限差分法是将连续函数在一系列有限的点上进行逼近的方法。
它的基本思想是用差分代替微分,将偏导数转化为差分算子。
通过对空间和时间离散化,将非齐次偏微分方程转化为差分方程组,再利用数值计算的方法求解这个差分方程组,从而得到非齐次偏微分方程的近似解。
具体而言,有限差分法将求解区域划分为网格,并在网格上近似表示偏微分方程中的函数。
利用中心差分公式或向前、向后差分公式来近似计算偏导数。
通过将偏微分方程中的微分算子替换为差分近似,可以将方程转化为一个代数方程组,进而求解得到非齐次偏微分方程的近似解。
二、步骤1. 确定求解的区域和方程:首先要确定求解的区域,然后确定非齐次偏微分方程的形式。
在matlab中,可以通过定义一个矩阵来表示求解区域,并将方程转化为差分算子形式。
2. 离散化:将求解区域划分为网格,确定每个网格点的位置,建立网格点之间的连接关系。
通常,使用均匀网格来离散化求解区域,并定义网格点的坐标。
3. 建立差分方程组:根据偏微分方程的形式和离散化的结果,建立差分方程组。
根据中心差分公式,用网格点上的函数值和近邻点的函数值来近似计算偏导数。
将差分算子应用于非齐次偏微分方程的各个项,得到差分方程组。
4. 求解差分方程组:利用线性代数求解差分方程组。
将方程组转化为矩阵形式,利用matlab中的线性方程组求解功能,得到差分方程组的近似解。
通过调整求解区域划分的精细程度和差分算子的选取,可以提高求解的精度。
5. 回代和结果分析:将求解的结果回代到原非齐次偏微分方程中,分析其物理意义和数值稳定性。
电磁场与电磁波第三章静态场及其边值问题的解PPT课件

解法的优缺点
分离变量法的优点是简单易行,适用于具有多个变量 的偏微分方程。但是,该方法要求边界条件和初始条
件相互独立,且解的形式较为复杂。
有限差分法的优点是简单直观,适用于各种形状的求 解区域。但是,该方法精度较低,且对于复杂边界条
件的处理较为困难。
有限元法的优点是精度较高,适用于各种形状的求解 区域和复杂的边界条件。但是,该方法计算量大,且
05 实例分析
实例一:简单电场的边值问题求解
总结词
通过一个简单的电场边值问题,介绍如 何运用数学方法求解静态场的边值问题 。
VS
详细描述
选取一个简单的电场模型,如平行板电容 器间的电场,通过建立微分方程和边界条 件,采用有限差分法或有限元法进行数值 求解,得出电场分布的解。
实例二:复杂电场的边值问题求解
恒定磁场与准静态场的定义与特性
恒定磁场
磁场强度不随时间变化的磁场。
准静态场
接近静态场的动态场,其特性随 时间缓慢变化。
特性
恒定磁场与准静态场均不产生电 磁波,具有空间稳定性和时间恒
定性。
恒定磁场与准静态场的边值问题
边值问题
描述场域边界上物理量(如电场强度、磁场强度)的约束条件。
解决边值问题的方法
静电屏蔽
在静电屏蔽现象中,静态 场用于解释金属屏蔽壳对 内部电荷或电场的隔离作 用。
高压输电
在高压输电线路中,静态 场用于分析电场分布和绝 缘性能。
02 边值问题的解法
定义与分类
定义
边值问题是指在一定的边界条件下,求解微分方程或积分方程的问题。在电磁场理论中,边值问题通常涉及到电 场、磁场和波的传播等物理量的边界条件。
特性
空间均匀性
第四章 静态场边值问题的解法

上 页 下 页
π 由边界条件(4) y a ,0 xa 100 sin x代入通解得 a
πx nπ 100 sin Fn ' sh(nπ) sin x a n1 a
比较系数 当n 1 时, 当n 1 时,
1 2
U0 O y d
0
x
d yd 2 d 0 y 2
上 页 下 页
返 回
由y=0,y=d时,2=0可知 由 x , 通解
n g ( y) A1 sin( y) d n
x
U0 n Cn sin( d y ) d y n1 由x=0边界条件, C sin( n y ) U U 0 y 1 n d 0 n d
F1 ' shπ 100
100 F1 ' shπ
Fn ' 0
100 π π ( x, y ) sin( x)sh y sh a a
上 页 下 页
若金属槽盖电位 =U 0 ,再求槽内电位分布
nπ nπ 通解 (x, y ) Fn sin ( x)sh( y ) a a n 1 傅立叶级数 当 y a 时, =U 0
返 回 上 页 下 页
例: 解:
试求长直接地金属槽内电位的分布。
边值问题(D 域内) (1)
x 0 , 0 y a 0
xa , 0 y a
0
(2)
(3)
接地金属槽的截面
y 0 , 0 x a 0
π y a ,0 xa 100 sin x a
设n=2m,
Matlab求解边值问题方法+例题

y1 y , y2 y1
原方程组等价于以下标准形式的 方程组:
y y 1 2 y2 (1 x 2 ) y1 1
边界条件为:
y1 (0) 1 0 y1 (1) 3 0
边值问题的求解
求解:
c=1; solinit=bvpinit(linspace(0,4,10),[1 1]); sol=bvp4c(@ODEfun,@BCfun,solinit,[],c); x=[0:0.1:4]; y=deval(sol,x); plot(x,y(1,:),'b-',sol.x,sol.y(1,:),'ro') legend('解曲线','初始网格点解') % 定义ODEfun函数 function dydx=ODEfun(x,y,c) dydx=[y(2);-c*abs(y(1))]; % 定义BCfun函数 function bc=BCfun(ya,yb,c) bc=[ya(1);yb(1)+2];
z(0) 1, z (0) 0, z ( ) 0
本例中,微分方程与参数λ的数值有关。一般而言,对于任意的λ值,该问题无解, 但对于特殊的λ值(特征值),它存在一个解,这也称为微分方程的特征值问题。 对于此问题,可在bvpinit中提供参数的猜测值,然后重复求解BVP得到所需的 参数,返回参数为sol.parameters
边值问题的求解
如果取1,计算结果如何?
infinity=6; solinit=bvpinit(linspace(0,infinity,5),[0 0 1]); options=bvpset('stats','on'); sol=bvp4c(@ODEfun,@BCfun,solinit,options); eta=sol.x; f=sol.y; fprintf('\n'); 2 求解: f ff (1 ( f ) ) 0 fprintf('Cebeci & Keller report f''''(0)=0.92768.\n') fprintf('Value computed here is f''''(0)=%7.5f.\n',f(3,1)) 0.5 clf reset plot(eta,f(2,:)); axis([0 infinity 0 1.4]); title... f (0) 0, f (0) 0, ('Falkner-Skan equation, positive wall shear,\beta=0.5.') 边界条件: f ( ) 1, xlabel('\eta'),ylabel('df/d\eta'),shg % 定义ODEfun函数 function dfdeta=ODEfun(eta,f) beta=0.5; dfdeta=[f(2);f(3);-f(1)*f(3)-beta*(1-f(2)^2)]; % 定义BCfun函数 function res=BCfun(f0,finf) res=[f0(1);f0(2);finf(2)-1];
第3章静态场的边值问题及解的唯一性定理

r
O
d
P(r, ) R q
处理方法:电位叠加原理:
1、先假设导体球面接地,则球面上存在电量为q' 的感应电荷, 镜像电荷可采用前面的方法确定q a q, d。 a2 2、为了满足电荷守恒原理。断开接地d线,将电d量为-q'的电荷加 到导体球面上,使这些电荷均匀分布在球面上,使导体球为等势 体,且表面总电荷为零。
l′
2 x2 (z h)2
均匀带电直线的电位分布
z 0,R R z0 0
l ln R C l ln R0
2
2 R
显然,满足边界条件。所以,原问题不变,所得的解是正确的。
11
第3 章
例3. 点电荷对相交半无限大接地导体平面的镜像 如图所示,两个相互垂直相连的半无限大接地导体平板,点
像把导体平面抽走一样,用两点电荷的场叠加计算。
7
第3 章
解:用一个处于镜像位置的点电荷代替导体边界的影响, 则z>0空间任一点 P 的电位由 q 及 q' 共同产生,即
q q 1 (
q
q
)
4π0 r 4π0 r 4π0 x2 y2 (z h)
x2 y2 (z h)2
l
2π
r r er
以r 0 为参考点,则电位
r r0
Edr
l 2π
ln
r0 r
l 2π
ln
1 r
C
1)长直线电荷与接地的长直圆柱导体平行,求圆柱外电位分布
在圆柱与线电荷之间,在圆柱内离轴线的距离b 处,平行放置一
根镜像线电荷 , 代替圆柱导体上的感应电荷.
有限差分法在静态电磁场数值计算中的应用
(18)
而为加速迭代解的收敛,构成超松弛迭代公式的原则是;并不将由上式所算得的结果作为 的第 次近似值,而仅把它视为一中间结果 ,然后作加权平均处理,即令
式中, 称为加速收敛的松弛因子。超松弛迭代法的 取值范围是 ,当 时,式(19)即归结为高斯一赛德尔迭代法的迭代公式18);当 时,迭代过程将不收敛而发散。最佳收敛因子的取值随问题和离散化的情况而异。对于第一类边值问题,若一正方形场域由正方形网格剖分(每边节点数为 ),则最佳收敛因子 可按下式计算
3.2.1偏微分方程的离散化—五点差分格式
对于所给定的偏微分方程定解问题,应用有限差分法,首先需从网格剖分着手决定离散点的分布方式。 原则上,可以采用任意的网络刻分方式,但这将直接影响所得差分方程的具体内容,进面影响解题的经济性与计算精度。为简化问题,通常采用完全有规律的分布方式,这样在每个离散点上就能得出相同形式的差分方程,有效地提高解题速度,因而经常采用正方形网格的剖分方式。现即以这种正方形网络剖分场域 ,也就是说,用分别与 、 两坐标轴平行的两簇等距(步距为 )网络线来生成正方形网格,网格线的交点称为节点,这样,场域 就被离散化为由网格节点构成的离散点的集合。
(20)
若一矩形场域由边长为 的正方形网格副分(设两边分别为 和 ,且 、 通常要大于15),则相应的最佳收敛因子为
(21)
应当注意,在迭代运算前,恰当地给定各内点的初值(即所谓零次近似值),也是加速收敛速度的一个有效途径。
(2),偏导数也可近似地用相应的差商来表达。若没定函数 ,当其独立变量 得到一个很小的增量 时,则 方向的一阶偏导数可以近似表达为
(9)
同样,相应的二阶偏导数可以近似表达为
(10)
3.2差分格式的构造
第五章静态场的边值问题(1)精品PPT课件
Boundary Value Problem
静态场的工程应用与特性 5.1 泊松方程和拉普拉斯方程 5.2 镜像法 5.3 分离变量法 5.4 有限差分法
静态场的工程应用
含石英硫酸盐矿
硫酸盐矿
石英
选矿器
喷墨打印机工作原理
均匀电场中带电粒子的 轨迹
阴极射线示波器原理
磁分离器
球坐标系
2 R 1 2 R (R 2 R ) R 2 s 1 in ( s in ) R 2 s 1 in 2 2 2
4. 惟一性定理
数学物理方程是描述物理量随空间和时间的变化规律。对于某一 特定的区域和时刻,方程的解取决于物理量的初始值与边界值,这 些初始值和边界值分别称为初始条件和边界条件,两者又统称为该 方程的定解条件。静电场的场量与时间无关,因此电位所满足的泊 松方程及拉普拉斯方程的解仅决定于边界条件。根据给定的边界条 件求解空间任一点的电位就是静电场的边值问题。
回旋加速器
磁悬浮列车
静态场特性 静态场基本概念
– 静态场是指电磁场中的源量和场量都不随时间发生变化的
场。
D0, B0,V 0
t t t
– 静态场包括静电场、恒定电场及恒定磁场,它们是时变电 磁场的特例。
– 静电场是指由静止的且其电荷量不随时间变化的电荷产生 的电场。
– 恒定电场是指导电媒质中,由恒定电流产生的电场。
因此,对于导体边界的静电场问题,当边界上的电位,或电 位的法向导数给定时,或导体表面电荷给定时,空间的静电场即 被惟一地确定。这个结论称为静电场惟一性定理。
5. 对偶原理
1. (1)概念:如果描述 两种物理现象的方 程具有相同的数学 形式,并具有对应 的边界条件,那么 它们解的数学形式 也将是相同的,这 就是对偶原理,亦 称为二重性原理。 具有同样数学形式 的两个方程称为对 偶方程,在对偶方 程中,处于同等地 位的量称为对偶量。
有限差分 matlab
有限差分matlab摘要:1.有限差分概述2.MATLAB 在有限差分中的应用3.有限差分的优缺点4.结论正文:1.有限差分概述有限差分是一种数值计算方法,主要用于求解偏微分方程的初值问题。
它是一种离散化的方法,通过将连续的函数值用有限个离散点来代替,从而将偏微分方程转化为关于这些离散点的代数方程组。
这种方法可以有效地简化问题,使得求解过程更加便捷。
在有限差分的求解过程中,通常会涉及到差分和差分系数的概念,它们是有限差分方法的核心。
2.MATLAB 在有限差分中的应用MATLAB 是一种功能强大的数学软件,可以方便地进行有限差分的计算。
在MATLAB 中,可以通过编写脚本或者使用内置函数来进行有限差分的计算。
例如,可以使用MATLAB 的`diff`函数来进行一阶差分,使用`gradient`函数来进行二阶差分。
此外,MATLAB 还提供了许多用于解决偏微分方程的工具箱,如PDE Toolbox 等,这些工具箱可以进一步简化有限差分的计算过程。
3.有限差分的优缺点有限差分作为一种数值计算方法,具有一定的优点,也存在一些不足之处。
优点:(1)适用范围广泛,可以用于求解多种类型的偏微分方程;(2)计算过程相对简单,便于编程实现;(3)可以通过选择合适的差分方法来提高求解精度。
不足之处:(1)可能会出现数值误差,尤其是在差分阶数较低时,误差可能会较大;(2)对于某些问题,有限差分的求解过程可能会比较复杂,需要耗费较多的计算资源。
4.结论有限差分是一种重要的数值计算方法,它在求解偏微分方程初值问题中具有广泛的应用。
通过使用MATLAB 等数学软件,可以方便地实现有限差分的计算。
然而,有限差分也存在一定的缺点,如数值误差和计算复杂度等问题。
静态场边值问题的分离变量法理论研究
用分离变量法解.
_第__3_期__________________王_礼__祥_: _静_态_场_边__值_问_题_的_分__离_变_量_法_理__论_研_究___________________36_3_
但是, 还要注意场方程在正交曲线坐标中可分离变量解只是满足了大前提, 实际问题中还必须查看其边界 条件是否为齐次的, 只有齐次线性场方程在选定的正交曲线坐标中可分离变量并且边界条件也是齐次的了, 问 题才能分离变量解(一般所求场域边界必须比较规则或者干脆场域边界面就是所选坐标的特殊坐标曲面与坐标 面组合).
文章编号: 1003-2843(2011)03-0360-08
静态场边值问题的分离变量法理论研究
王礼祥
(西南民族大学预科教育学院, 四川成都 610041)
摘 要: 文章分析讨论了静态电磁场方程在正交曲线坐标中能分离变量法解的充分必要条件, 验算了在几种常用正交
曲线坐标中可分离变量解的原因, 介绍了由分离变量法派生的用于解非齐次方程和非齐次边界条件边值问题的本征函
∂ϕ2 (q2 ∂q2
)
⎞ ⎟ ⎠
+
(6)
1 h1h2h3ϕ3 (q3 )
∂ ∂q3
⎛ ⎜ ⎝
h1h2h3 h32
∂ϕ3 (q3 ∂q3
)
⎞ ⎟ ⎠
=
0.
要方程(6)能分离变量, 必须有
⎧ ⎪ ⎪
h1h2h3 h12
=
f1(q1)g1(q2 , q3 )或常数,
⎪ ⎨ ⎪
h1h2h3 h22
=
f2 (q2 )g2 (q1, q3 )或常数,
3 几个常用正交曲线坐标中场方程可分离变量解的分析
3.1 椭球坐标中静态场方程的变量可分性 根据椭球坐标与直角坐标的关系及坐标度规系数有
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第31卷第3期2010年3月微计算机应用M I C ROCO MP UTER APPL I C AT I O NSVol131No13M ar12010基于MATLAB的静态场边值问题有限差分法的研究*王洁陈超波(西安工业大学电子信息工程学院西安710032)摘要:有限差分法是求解静态场边值问题的一个非常有效的数值解法,它是将求解区域划分为有限个网格点,用一组差分方程代替原来一组微分方程。
该方法求得的是近似解而不是精确解。
求解区域内网格划分大小关系着计算的精确度,网格尺寸划分越小,计算精确度越高;反之,精确度越低。
本文运用MATLAB语言使得有限差分法求解区域内电势分布的解法变得简单、易行,摆脱了传统方法使用C语言较复杂的缺陷。
通过仿真验证了算法和程序的有效性。
关键词:静态场边值问题有限差分法M ATLABStudy of F i n ite-D ifference M ethod for the BoundaryV a l ue of Sta tic F iel d Ba sed on M ATLABWANG Ji e,CHEN Chao bo(School of E lectro n ic Informa ti on Engi neering,X i.an Technolo gica lUniversity,X i.an,710032,China)Abstr ac t:The fi n ite-difference m etho d i s one of the m ost po werful nu m er i ca l techn i ques for sol vi ng the bo undary va l ue of static fi e l d1 The fi n ite-difference m ethod bas i ca lly d i vi des the sol uti on do m a i n into so m e fi n ite d i scre te poi nts,and replaces the ori gi na l d ifferentia l equatio ns w ith a set of difference equa tio ns1Of cource,the sol uti on i s not an exact sol u tio n,but an approxi m ate o ne1The m esh size of the d iscretized sol utio n do m a i n is a m easure of t he accracy of t he sol utio n:t he s m a ller the m esh size,t he better t he accuracy;the b i gge r the m esh si ze,t he worse the accuracy1The use of MATL AB fac ilitates t he utilizati on of t he fi n ite-d ifference m ethod to eva l uate the fi e l d d i str i bu tio n,overco m es the de fects of the trad itio na lm ethod for using C language1The si m u l a ti on exa m ples sho w t hat t he algor it h m and procedures a re correct and effecti veK eywords:t he bounda ry va l ue of static fie l d,fi nite-d ifference m e t hod,MATL AB1引言电磁场学科随着计算机技术、计算方法、实验研究技术的迅速发展和工业需求的日益增加,其研究开发及工业应用逐步深化。
经典电磁学理论为电磁技术的发展奠定了坚实的理论基础。
麦克斯韦方程组完整而充分地反映了电磁场客观运动规律,成为求解电磁场问题的基本依据。
工程上求解电磁场问题的基本任务是:首先根据物理场域和媒质特性建立数学模型,即利用麦克斯韦理论导出控制方程,结合定解条件及源函数构成边值问题(或初值问题),求解出符合实际的场分布(有时是反问题,求源分布)。
静电场的计算通常是求场内任意点的电位。
一旦电位确定,电场强度和其他物理量都可以由电位求得。
在无界空间中,如果已知分布电荷的体密度,可以通过积分公式计算任意点的电位。
但计算有限区域的本文于2009-11-19收到。
*基金资助:陕西省教育厅基金项目(08J K311),西安工业大学校长基金项目(XAGDXJJ200712)。
微 计 算 机 应 用 2010年电位时,必须使用所讨论区域边界上电位的指定值(称为边值)来确定积分函数;此外,当场域中有不同介质时,还要用到电位在边界上的边界条件。
这些用来决定常数的条件,常统称为边界条件。
我们把通过微分方程及相关边界条件描述的问题称为边界问题。
求解边值问题分为解析法和数值法两大类,解析法求得的解一般比较精确但是在许多实际问题中往往由于边界条件过于复杂而无法求得解析解。
在这种情况下,一般借助于数值法求电磁场的数值解。
近20年来,由于高速度、大容量电子计算机的广泛应用和电算技术的进步,数值方法得到了迅速的发展,其主要有:有限差分法、有限元法、积分方程法、边界元法和蒙特卡罗法等基本类型。
本文将使用有限差分法来求解静态场的边值问题。
2 有限差分法的基本原理和实现有限差分法(FD M ,F i n ite D iff erence M ethods)是最早应用于电磁场数值分析领域的数值方法之一。
它以概念清晰,方法简单、直观等特点,在电磁场数值计算领域得到广泛应用。
用有限差分法计算时,选取所求区域内有限个离散点,用差分方程代替各个点的偏微分方程。
这样得到的任意一个点的差分方程是将该点的电位与其周围几个点相联系的代数方程。
对于全部的待求点,就得到一个线性方程组。
求解此线性方程组,即可求出待求区域内各点的电位。
下面简要介绍有限差分法的基本原理(以二维拉普拉斯方程的第一类边值问题为例)。
在xoy 平面把所求区域划分为若干相同的小正方形格子,每个格子的边长都为h ,假设某顶点0上的电位是u 0,周围四个顶点的电位分别为u 1、u 2、u 3和u 4。
将这几个点的电位用泰勒级数展开,就有:u 1=u 0+5u 5x 0h +12!52u 5x 20h 2+13!53u 5x 30h 3+k u 3=u 0-5u 5x 0h +12!52u 5x 20h 2-13!53u 5x 3h 3+k 当h 很小时,忽略四阶以上的高次项,得:u 1+u 3=2u 0+h252u 5x 20同理,有:u 2+u 4=2u 0+h 252u 5y 20将上面两式相加,并考虑:52u 5x 2+52u 5y 2=0可得:u 0=14(u 1+u 2+u 3+u 4)上式表明,任意点的电位等于它周围四个点电位的平均值。
当求解区域非常大,划分的网格点非常多图1 网格划分图时,那么所求解的方程组中方程的数目,即未知数的数目非常多,如果待求n 个点的电位,就需解含n 个方程的线性方程组。
若点的数目较多,用迭代法比较方便。
迭代法通常可分为简单迭代法、高斯迭代法和超松弛法迭代法。
211 简单迭代法的实现用迭代法解二维电场分布时,将包含边界在内的结点均以双下标(,i j)表示,,i j 分别表示沿x 方向从左到右,y 方向从下向上,如图1所示。
用上标n 表示某点电位的第n 次迭代值。
由公式u 0=14(u 1+u 2+u 3+u 4)23期 王 洁等:基于M ATL AB 的静态场边值问题有限差分法的研究得出点(,i j)的第n+1次电位的计算公式为u n+1i ,j =14(u n i+1,j +u n i-1,j +u n i ,j+1+u n i ,j-1)该式也叫简单迭代法,它的收敛速度较慢,计算时,先任意指定各个结点的电位值,作为零级近似,将零级近似值及边界上的电位值代入该式求出一级近似值,再由一级近似值求出二级近似值,以此类推,直到连续两次迭代所得电位的差值在允许范围内时,结束迭代。
由于相邻两次迭代解之间的误差,通常有两种取法:一种是取最大绝对误差;另一种是取算术平均误差。
本文中,用的是前一种取法。
流程图如图2所示。
图2 简单迭代法流程图212 高斯)塞德尔迭代法的实现通常为节约运算时间,对简单迭代法要进行改进,每当算出一个结点的高一次近似值,就立即用它参与其他结点的差分方程迭代,这种迭代法叫高斯)塞德尔迭代法,它的表达式为u n+1i ,j =14(u n i+1,j +u n i-1,j +u n+1i ,j+1+u n +1i ,j-1)。
此式也称为异步迭代法,由于更新值的提前使用,异步迭代法比简单迭代法收敛速度加快一倍左右,存储量也小。
高斯)塞德尔迭代法的流程图与简单迭代法的流程图基本上类似,只是在具体迭代方法的算法上有些区别,见参考书[1]。
213 超松弛迭代法的实现为了加快收敛速度,常采用超松弛迭代法,计算时,将某点的新老电位值之差乘以一个因子w 后,再加到该点的老电位值之上,作为这一点的新电位值。
超松弛迭代法的表达式为:u n+1i ,j =u n i,j +w 4(u n i+1,j +u n i ,j+1+u n+1i-1,j +u n +1i ,j -1-4u n i,j )其中,w 为松弛因子,其值介于1和2之间,当其值为1时,超松弛迭代法就蜕变为塞德尔迭代法。
因此w 的选取一般只能依经验而定,但是对矩形区域,当m,n 很大时,可以由如下公式计算最佳收敛因子。
w =42+4-cos (P /n -1)+cos (P /m -1)2其中m,n 分别是结点数,其流程图与简单迭代法类似。
3 仿真分析在用有限差分法求解静态场边值问题时,当求解区域非常大,划分的网格点非常多时,那么所求解的方程组中方程的数目,即未知数的数目非常多,这时就需要用计算机求解这种大型联立方程组。
以往实现此算法用的C 语言或FORT RAN 的人都知道,当涉及到矩阵运算或画图时,编程会很麻烦。
当想求解一个线性代数方程组时,得首先编写一个程序,然后编写一个子程序去读入各个矩阵的运算,然后再编写一个程序,求解相应的方程组,最后输出计算结果。
如果计算子程序不是很可靠,则所得的计算结果往往会有问题,如果没有标准的子程序可以调用,则用户往往要将自己编好的子程序逐条的输入计算机,3微 计 算 机 应 用 2010年然后进行调试,最后计算结果。