计算物理学第5章 物理学中线性方程组的数值解法..ppt
- 文档编号:30858548
- 上传时间:2024-04-09
- 格式:PPT
- 页数:117
- 大小:1.30MB
计算物理学第5章 物理学中线性方程组的数值解法..ppt
《计算物理学第5章 物理学中线性方程组的数值解法..ppt》由会员分享,可在线阅读,更多相关《计算物理学第5章 物理学中线性方程组的数值解法..ppt(117页珍藏版)》请在冰豆网上搜索。
第5章物理学中线性方程组的数值解法5.15.1物理问题与线性方程组物理问题与线性方程组5.25.2高斯消去法与列主元消去法高斯消去法与列主元消去法5.35.3解三对角方程组的追赶法解三对角方程组的追赶法5.45.4线性方程组的迭代解法线性方程组的迭代解法5.55.5积分方程的数值解法积分方程的数值解法习题五习题五第5章物理学中线性方程组的数值解法物理学中的许多问题可以归结为线性方程组的求解,以下物理学中的许多问题可以归结为线性方程组的求解,以下给出几个具体应用实例。
给出几个具体应用实例。
【例例5.15.1】如图如图5.15.1所示,质量为所示,质量为mm22的物体放在水平面上,的物体放在水平面上,其上有一个质量为其上有一个质量为mm11的物体,若一切阻力不计,求的物体,若一切阻力不计,求mm11相对于相对于mm22的的加速度加速度aa11、mm22的加速度的加速度aa22以及它们受到的支持力以及它们受到的支持力NN11和和NN22。
5.15.1物理问题与线性方程组物理问题与线性方程组第5章物理学中线性方程组的数值解法解解利用力学中的牛顿运动定律容易列出以下所需的方程利用力学中的牛顿运动定律容易列出以下所需的方程组:
组:
(5.1)(5.1)这是以这是以aa11、aa22、NN11、NN22为未知数的线性方程组。
为未知数的线性方程组。
第5章物理学中线性方程组的数值解法图图5.15.1第5章物理学中线性方程组的数值解法【例例5.25.2】如图如图5.25.2所示,固定在一起的两个同轴均匀圆所示,固定在一起的两个同轴均匀圆柱体可绕其光滑的水平对称轴柱体可绕其光滑的水平对称轴OOOO转动,设大小圆柱的半径分转动,设大小圆柱的半径分别为别为RR和和rr,质量分别为,质量分别为MM和和mm,绕在两柱体上的细绳分别与物体,绕在两柱体上的细绳分别与物体mm11和物体和物体mm22相连,相连,mm11和和mm22则挂在圆柱体的两侧,则挂在圆柱体的两侧,求柱体转动时求柱体转动时的角加速度及两侧绳中的张力。
的角加速度及两侧绳中的张力。
第5章物理学中线性方程组的数值解法图图5.25.2同轴圆柱示意图同轴圆柱示意图第5章物理学中线性方程组的数值解法解解根据转动惯量和转动定律可列如下方程组:
根据转动惯量和转动定律可列如下方程组:
以上方程组中以上方程组中,为转动惯量为转动惯量;为角为角加速度加速度;a;a11=R=R、aa22=r=r分别为分别为mm11和和mm22的线加速度。
这是转动的线加速度。
这是转动定律在刚体力学中的常见例题,可列出上述方程组并求解绳中定律在刚体力学中的常见例题,可列出上述方程组并求解绳中张力张力TT11、TT22和角加速度和角加速度。
第5章物理学中线性方程组的数值解法【例例5.35.3】如图如图5.35.3所示,圆柱体所示,圆柱体AA上绕着轻绳,绳子跨过上绕着轻绳,绳子跨过一定滑轮一定滑轮BB与物体与物体CC相连。
设相连。
设AA、BB、CC的质量均为的质量均为mm,圆柱体和定,圆柱体和定滑轮的半径均为滑轮的半径均为RR,系统从静止开始运动。
求物体,系统从静止开始运动。
求物体CC下落下落hh后的速后的速度和加速度。
度和加速度。
(设圆柱体与接触面间、滑轮与绳子都无相对滑动。
设圆柱体与接触面间、滑轮与绳子都无相对滑动。
)第5章物理学中线性方程组的数值解法图图5.35.3示意图示意图第5章物理学中线性方程组的数值解法解解设设BCBC段绳中张力为段绳中张力为TT11,ABAB段绳中张力为段绳中张力为TT22,根据转动,根据转动定律和牛顿运动定律可列方程组如下定律和牛顿运动定律可列方程组如下第5章物理学中线性方程组的数值解法以上方程组中,以上方程组中,J=mRJ=mR22/2,/2,为转动惯量为转动惯量;f;f为圆柱体为圆柱体AA受到的受到的摩擦力摩擦力;11为滑轮为滑轮BB的角加速度的角加速度;a=R;a=R11为线加速度为线加速度;22为圆为圆柱柱AA的角加速度的角加速度;a;aCC=R=R22为圆柱为圆柱AA的质心加速度,且的质心加速度,且a=aa=aCC+R+R22。
可以列出上述以可以列出上述以11、22、TT11、TT22为未知数的方程组,并求解为未知数的方程组,并求解物体物体CC下落下落hh后的速度和加速度。
后的速度和加速度。
【例例5.45.4】如图如图5.45.4所示,在直流电路中,已知所示,在直流电路中,已知11、rr11、22、rr22、33、rr33、RR11、RR22、RR33、RR44。
求。
求II11、II22和和II33。
第5章物理学中线性方程组的数值解法图图5.45.4直流电流示意图直流电流示意图第5章物理学中线性方程组的数值解法解解利用电路方程中的基尔霍夫定律可列出未知量利用电路方程中的基尔霍夫定律可列出未知量II11、II22和和II33所满足的线性方程组所满足的线性方程组(5.2)(5.2)第5章物理学中线性方程组的数值解法以上仅举例给出了一些力学和电路问题中线性方程组的应以上仅举例给出了一些力学和电路问题中线性方程组的应用,在实际科学计算和工程设计中,有许多算法最终都归结为用,在实际科学计算和工程设计中,有许多算法最终都归结为线性方程组的求解,例如本书下篇将要介绍的有限差分、有限线性方程组的求解,例如本书下篇将要介绍的有限差分、有限元和边界元等方法,在求解偏微分方程时,最终都要将其转化元和边界元等方法,在求解偏微分方程时,最终都要将其转化为相应的线性方程组进行求解。
为相应的线性方程组进行求解。
第5章物理学中线性方程组的数值解法5.2.15.2.1高斯消去法高斯消去法现以三元为例来介绍高斯消去法。
现以三元为例来介绍高斯消去法。
设有线性方程组设有线性方程组5.25.2高斯消去法与列主元消去法高斯消去法与列主元消去法第5章物理学中线性方程组的数值解法若消去若消去xx11,有有其中其中,第5章物理学中线性方程组的数值解法若消去若消去xx22,有有其中其中,第5章物理学中线性方程组的数值解法式式(5.9)(5.11)(5.9)(5.11)写成矩阵形式即为写成矩阵形式即为(5.12)(5.12)第5章物理学中线性方程组的数值解法上式为上三角形方程组,容易求解。
上式为上三角形方程组,容易求解。
以上消去与回代过程称为高斯消去法。
该方法的特点是每以上消去与回代过程称为高斯消去法。
该方法的特点是每次均按照系数矩阵的主对角线上的顺序依次消元次均按照系数矩阵的主对角线上的顺序依次消元(为主元为主元)。
当然这种方法也存在一定的局限性,通常情况下会遇到如下的当然这种方法也存在一定的局限性,通常情况下会遇到如下的问题:
问题:
(1)
(1)一旦遇到某个主元,消元过程将无法进行下一旦遇到某个主元,消元过程将无法进行下去。
去。
(2)
(2)当主元的绝对值很小时,求出的结果与真实结果相差当主元的绝对值很小时,求出的结果与真实结果相差甚远。
甚远。
第5章物理学中线性方程组的数值解法【例例5.55.5】求解下列方程组的根求解下列方程组的根准确到小数准确到小数99位,解为位,解为若计算过程用若计算过程用44位十进制,用第位十进制,用第11个方程消去第个方程消去第22个方程的个方程的xx11,得到,得到第5章物理学中线性方程组的数值解法由上式可以求得由上式可以求得xx22=1,x=1,x11=0=0。
由此可见,除数太小是。
由此可见,除数太小是引起误差较大的主要原因。
引起误差较大的主要原因。
第5章物理学中线性方程组的数值解法5.2.25.2.2列主元消去法列主元消去法为了更准确地求解线性方程组,避免消元法无法进行,以为了更准确地求解线性方程组,避免消元法无法进行,以及消元过程中造成的误差,下面介绍一种新的方法及消元过程中造成的误差,下面介绍一种新的方法选主元法选主元法,这种方法又分为列选主元法和全选主元法。
具这种方法又分为列选主元法和全选主元法。
具体举例如下。
体举例如下。
【例例5.65.6】求解方程组的根。
求解方程组的根。
第5章物理学中线性方程组的数值解法解解对方程组所对应的增广矩阵作如下变换对方程组所对应的增广矩阵作如下变换第5章物理学中线性方程组的数值解法第5章物理学中线性方程组的数值解法回代可得回代可得该消元法的特点是每次在系数矩阵中依次按列在主对角线该消元法的特点是每次在系数矩阵中依次按列在主对角线及以下的元素中,选取绝对值最大的元素作为主元,将它调至及以下的元素中,选取绝对值最大的元素作为主元,将它调至主对角线上,然后用它消去主对角线以下的元素,变为上三角主对角线上,然后用它消去主对角线以下的元素,变为上三角形矩阵即可进行求解。
形矩阵即可进行求解。
第5章物理学中线性方程组的数值解法对于对于nn元线性方程组元线性方程组(5.13)(5.13)第5章物理学中线性方程组的数值解法该方程组可以表示为矩阵形式,即该方程组可以表示为矩阵形式,即Ax=bAx=b其中其中,A,A为非奇异矩阵。
以上方程组有唯一解。
为非奇异矩阵。
以上方程组有唯一解。
列主元消去法一般分为以下两步:
列主元消去法一般分为以下两步:
第一步:
第一步:
对方程组确定对方程组确定i1i1,选,选|a|ai1i1|作作为第一主元,交换第一个和第为第一主元,交换第一个和第i1i1个方程,利用第一个方程将后个方程,利用第一个方程将后n-1n-1个方程中的个方程中的xx11消去。
消去。
第5章物理学中线性方程组的数值解法第二步:
第二步:
在第一步已化简方程组中的第二列中寻找在第一步已化简方程组中的第二列中寻找作为第二主元,交换第二个和第作为第二主元,交换第二个和第i2i2个方程,利用个方程,利用第二个方程将后第二个方程将后n-2n-2个方程中的个方程中的xx22消去。
重复以上过程,消去。
重复以上过程,n-1n-1步步后原方程组变为上三角形方程组,利用回代过程可求得方程组后原方程组变为上三角形方程组,利用回代过程可求得方程组的解。
的解。
第5章物理学中线性方程组的数值解法编程步骤如下:
编程步骤如下:
对于增广矩阵对于增广矩阵A,bA,b,设,设AA为非奇异矩为非奇异矩阵。
阵。
(1)
(1)对对k=1,2,k=1,2,n-1,n-1,选主元,确定选主元,确定rr,使;,使;交换交换AA(k)(k),b,b(k)(k)中的中的rr,kk两行两行;对对i=k+1,k+2,i=k+1,k+2,n,n,计算,计算mmikik=a=aikik/a/arkrk;aaijijaaijij-m-mikikaakjkj,b,biibbii-m-mikikbbkk。
第5章物理学中线性方程组的数值解法
(2)
(2)(i=n-1,n-2,(i=n-1,n-2,1),1)以下给出高斯列主元消去法子程序以下给出高斯列主元消去法子程序:
subroutinegauss(n,A,b)subroutinegauss(n,A,b)dimensionA(n,n),b(n)dimensionA(n,n),b(n)do60k=1,n-1do60k=1,n-1p=0!
p=0!
选大选大do30i=k,ndo30i=k,nIf(abs(A(i,k).le.abs(p)goto30If(abs(A(i,k).le.abs(p)goto30第5章物理学中线性方程组的数值解法p=A(i,k)p=A(i,k)i0=ii0=i30continue30continuedo40j=k,n!
do40j=k,n!
互换互换t=A(k,j)t=A(k,j)A(k,j)=A(i0,j)A(k,j)=A(i0,j)40A(i0,j)=t40A(i0,j)=tt=b(k)t=b(k)b(k)=b(i0)b(k)=b(i0)b(i0)=tb(i0)=tb(k)=b(k)/A(k,k)!
b(k)=b(k)/A(k,k)!
消元消元do60j=k+1,ndo60j=k+1,nA(k,j)=A(k,j)/A(k,k)A(k,j)=A(k,j)/A(k,k)do50i=k+1,ndo50i=k+1,n第5章物理学中线性方程组的数值解法50A(i,j)=A(i,j)-A(i,k)*A(k,j)50A(i,j)=A(i,j)-A(i,k)*A(k,j)60b(j)=b(j)-A(j,k)*b(k)60b(j)=b(j)-A(j,k)*b(k)b(n)=b(n)/A(n,n)b(n)=b(n)/A(n,n)do80k=1,n-1!
do80k=1,n-1!
回代回代i=n-ki=n-ks=0s=0do70j=i+1,ndo70j=i+1,n70s=s+A(i,j)*b(j)70s=s+A(i,j)*b(j)80b(i)=b(i)-s80b(i)=b(i)-sendend第5章物理学中线性方程组的数值解法注意,有关系数矩阵的数据输入可采用文件输入方式或注意,有关系数矩阵的数据输入可采用文件输入方式或datadata语句。
以下给出高斯消去法求解例语句。
以下给出高斯消去法求解例5.65.6的主程序。
的主程序。
dimensionA(3,3),b(3)dimensionA(3,3),b(3)open(1,file=xiaoyuan.dat)open(1,file=xiaoyuan.dat)open(2,file=ab.dat)open(2,file=ab.dat)read(2,*)read(2,*)(A(i,j),j=1,3),i=1,3),(b(i),i=1,3)(A(i,j),j=1,3),i=1,3),(b(i),i=1,3)callgauss(3,A,b)callgauss(3,A,b)write(1,*)(b(i),i=1,3)write(1,*)(b(i),i=1,3)endend第5章物理学中线性方程组的数值解法ab.datab.dat即为输入数据文件,包括即为输入数据文件,包括A(3,3)A(3,3)和和b(3)b(3),ab.datab.dat中中数据格式为数据格式为2.0,1.0,2.0,5.0,-1.0,1.0,1.0,-3.0,-4.0,2.0,1.0,2.0,5.0,-1.0,1.0,1.0,-3.0,-4.0,5.0,8.0,-4.05.0,8.0,-4.0或用或用datadata输入数据:
输入数据:
dataA/2.0,5.0,1.0,1.0,-1.0,-3.0,2.0,1.0,-4.0/dataA/2.0,5.0,1.0,1.0,-1.0,-3.0,2.0,1.0,-4.0/datab/5.0,8.0,-4.0/datab/5.0,8.0,-4.0/【例例5.75.7】电路方程的求解。
在如图电路方程的求解。
在如图5.55.5所示的电路中,所示的电路中,求解电流强度求解电流强度ii11ii55。
第5章物理学中线性方程组的数值解法图图5.55.5电路示意图电路示意图第5章物理学中线性方程组的数值解法解解由基尔霍夫定律可列出如下电路方程由基尔霍夫定律可列出如下电路方程第5章物理学中线性方程组的数值解法即即第5章物理学中线性方程组的数值解法可见方程组的规模将随电路规模的增大而增大,从而计算可见方程组的规模将随电路规模的增大而增大,从而计算量也越来越大,我们可以借助计算机去完成这样的工作。
高斯量也越来越大,我们可以借助计算机去完成这样的工作。
高斯消去法求解电路方程的主程序如下消去法求解电路方程的主程序如下:
dimensionA(5,5),b(5)dimensionA(5,5),b(5)open(1,file=dianlu.dat)open(1,file=dianlu.dat)dataA/28.0,-3.0,0.0,0.0,0.0,-3.0,38.0,-10.0,0.0,-dataA/28.0,-3.0,0.0,0.0,0.0,-3.0,38.0,-10.0,0.0,-5.0,0.0,-10.0,25.0,-15.0,5.0,0.0,-10.0,25.0,-15.0,0.0,0.0,0.0,-15.0,45.0,0.0,0.0,-0.0,0.0,0.0,-15.0,45.0,0.0,0.0,-5.0,0.0,0.0,30.0/5.0,0.0,0.0,30.0/dataB/10.0,0.0,0.0,0.0,0.0/dataB/10.0,0.0,0.0,0.0,0.0/callgauss(5,A,b)callgauss(5,A,b)write(*,*)(b(i),i=1,5)write(*,*)(b(i),i=1,5)write(1,*)(b(i),i=1,5)write(1,*)(b(i),i=1,5)endend第5章物理学中线性方程组的数值解法通过计算可得通过计算可得ii11=0.3607477=0.3607477,ii22=3.3644862e-02,=3.3644862e-02,ii33=1.6822431e-02=1.6822431e-02,ii44=5.6074769e-03=5.6074769e-03,ii55=5.6074765e-=5.6074765e-0303。
第5章物理学中线性方程组的数值解法在求解线性方程组的过程中,有时会遇到三对角方程组的在求解线性方程组的过程中,有时会遇到三对角方程组的问题,而解三对角方程组的常用方法是追赶法,它公式简单,问题,而解三对角方程组的常用方法是追赶法,它公式简单,计算量小,所占用的存储单元少,对于三对角方程组,追赶法计算量小,所占用的存储单元少,对于三对角方程组,追赶法比高斯消去法的计算量要小得多。
考虑以下三对角线性方程组比高斯消去法的计算量要小得多。
考虑以下三对角线性方程组5.35.3解三对角方程组的追赶法解三对角方程组的追赶法(5.1(5.14)4)第5章物理学中线性方程组的数值解法其中系数矩阵是三对角矩阵,其元素满足以下条件:
其中系数矩阵是三对角矩阵,其元素满足以下条件:
|b|b11|c|c11|0|0|b|bii|a|aii|+|c|+|cii|b|bnn|a|ann|0|0且且aaiiccii0(i=2,3,0(i=2,3,n-1),n-1)(5.15)(5.15)第5章物理学中线性方程组的数值解法由于系数矩阵的特殊结构和性质,这类方程组有唯一解而由于系数矩阵的特殊结构和性质,这类方程组有唯一解而且可以用顺序消元法求解。
消元过程的第一步,取且可以用顺序消元法求解。
消元过程的第一步,取11=c=c11/b/b11、yy11=f=f11/b/b11,将方程组,将方程组(5.14)(5.14)的增广矩阵第一行主元单位化的增广矩阵第一行主元单位化(即第即第一行元素除以一行元素除以bb11),可得矩阵,可得矩阵第5章物理学中线性方程组的数值解法从这一矩阵出发,用初等变换作从这一矩阵出发,用初等变换作n-1n-1轮消元。
作第轮消元。
作第kk轮消元轮消元时,将矩阵中第时,将矩阵中第kk行元素乘以行元素乘以-a-ak+1k+1加到第加到第k+1k+1行元素上,然后将行元素上,然后将第第k+1k+1行主元单位化行主元单位化(k=1,2,(k=1,2,n-1),n-1)。
最后得到增广矩阵。
最后得到增广矩阵(5.16)(5.16)第5章物理学中线性方程组的数值解法其中其中,(i=2,3,(i=2,3,n),n)(5.18)(5.18)(5.17)(5.17)第5章物理学中线性方程组的数值解法根据矩阵初等变换的性质,可知原三对角方程组根据矩阵初等变换的性质,可知原三对角方程组(5.14)(5.14)等等价于如下方程组价于如下方程组(5.19)(5.19)第5章物理学中线性方程组的数值解法对这一特殊的上三角方程组,在回代过程中只需对这一特殊的上三角方程组,在回代过程中只需用到用到n-1n-1次乘法就可以求出方程组的解。
求解三对角方程组次乘法就可以求出方程组的解。
求解三对角方程组(5.14)(5.14)的消元法又称为追赶法。
追赶法的算法框图见图的消元法又称为追赶法。
追赶法的算法框图见图5.65.6。
第5章物理学中线性方程组的数值解法图图5.65.6追赶法算法框图追赶法算法框图第5章物理学中线性方程组的数值解法设计消元过程算法的主要根据是式设计消元过程算法的主要根据是式(5.17)(5.17)和式和式(5.18)(5.18),为,为了节约计算工作量,引入了工作单元了节约计算工作量,引入了工作单元dd,取,取ii和和yyii的指标变化的指标变化分别为分别为1n-11n-1和和2n2n,将这两个数组的计算设计到同一个循环体,将这两个数组的计算设计到同一个循环体中。
消元过程所用除法次数为中。
消元过程所用除法次数为2n-12n-1,所用乘法次数为,所用乘法次数为3(n-1)3(n-1)。
所以追赶法算法所用的乘、除法次数总共为所以追赶法算法所用的乘、除法次数总共为5n-45n-4。
第5章物理学中线性方程组的数值解法【例例5.85.8】用追赶法求解五阶方程组用追赶法求解五阶方程组第5章物理学中线性方程组的数值解法解解首先由方程组系数矩阵和右端向量,列出追赶法算法首先由方程组系数矩阵和右端向量,列出追赶法算法中所需的数组中所需的数组追赶法计算结果列于表追赶法计算结果列于表5.15.1中。
中。
第5章物理学中线性方程组的数值解法表表5.15.1追赶法计算中各个变量的变化追赶法计算中各个变量的变化第5章物理学中线性方程组的数值解法由表由表5.15.1中数据可知,经消元后方程组的增广矩阵转化为中数据可知,经消元后方程组的增广矩阵转化为方程组的解为方程组的解为xx11xx22xx33xx44xx55TT=0.48080.48080.07690.07690.21150.21150.07690.07690.48080.4808TT。
第5章物理学中线性方程组的数值解法对变量个数较多的线性方程组,常采用迭代解法。
设线性对变量个数较多的线性方程组,常采用迭代解法。
设线性方程组方程组Ax=bAx=b设计一个迭代公式,任选一初始向量设计一个迭代公式,任选一初始向量xx(0)(0),计算计算xx
(1)
(1),xx(k)(k),若该向量序列收敛,其极限值为原线性方程组的解若该向量序列收敛,其极限值为原线性方程组的解,即即(i=1,2,(i=1,2,n)n)5.45.4线性方程组的迭代解法线性方程组的迭代解法第5章物理学中线性方程组的数值解法记记x*=x*=,有有(5.20)(5.20)迭代法的求解过程相当于求极限过程,有关判断迭代法的迭代法的求解过程相当于求极限过程,有关判断迭代法的收敛性问题在此不作详细讨论,有兴趣的读者可参阅相关数值收敛性问题在此不作详细讨论,有兴趣的读者可参阅相关数值分析书籍。
分析书籍。
第5章物理学中线性方程组的数值解法5.4.15.4.1雅可比迭代法雅可比迭代法已知如下方程组已知如下方程组(5.21)(5.21)第5章物理学中线性方程组的数值解法该方程组写成矩阵形式为该方程组写成矩阵形式为Ax=bAx=b。
若若aaiiii0(i=1,2,0(i=1,2,n),n),由式,由式(5.21)(5.21)可得可得(5.22)(5.22)第5章物理学中线性方程组的数值解法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算物理学第5章 物理学中线性方程组的数值解法. 计算 物理学 线性方程组 数值 解法