本文主要是介绍平方根法matlab算法,matlab平方根法和改进平方根法求解线性方程组例题与程序.doc...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
matlab平方根法和改进平方根法求解线性方程组例题与程序.doc
(2)设对称正定阵系数阵线方程组123456784202400136806224109432510634XX1,2,0,TX2、数学原理1、平方根法解N阶线性方程组AXB的CHOLESKLY方法也叫做平方根法,这里对系数矩阵A是有要求的,需要A是对称正定矩阵,根据数值分析的相关理论,如果A对称正定,那么系数矩阵就可以被分解为的形式,其中L是下三角矩TAL阵,将其代入AXB中,可得TLXB进行如下分解TLXBY那么就可先计算Y,再计算X,由于L是下三角矩阵,是上三角矩阵,这TL样的计算比直接使用A计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A进行CHOLESKY分解,我再描述一下过程吧如果你对原理很清楚那么这一段可以直接跳过的。设,即TL1211121222121NNNNNNNAALLLLLL其中,,IJJIA第1步,由矩阵乘法,故求得211,IIALLA11,,3,IILALN一般的,设矩阵L的前K1列元素已经求出第K步,由矩阵乘法得112KKMKIIMIKALALL,于是1212,3N,1,KKMKIKIILALKLLIKN2、改进平方根法在平方根的基础上,为了避免开方运算,所以用计算;其中,TLDA;11112NNNDDDD得11212122NNNDLLLAL按行计算的元素及对元素公式LD对于I,211,21JIJIKJTATLI,/,IJJLTD,I1IIKIATL计算出的第行元素后,存放在的第行相置,LDTI,2IIJT,AI然后再计算的第行元素,存放在的第行的对角元素存放在的相应AD位置对称正定矩阵按分解和按分解计算量差不多,但分解不ATLDTLTLD需要开放计算。求解,的计算公式分别如下公式。BYYX11,IIKHL2,IN1/,NNIIKIXYDLX1,IN3、程序设计1、平方根法FUNCTIONXPFPFA,B楚列斯基分解求解正定矩阵的线性代数方程ALL’先求LYB再用L’XY即可以求出解XN,NSIZEAL1,1SQRTA1,1FORK2NLK,1AK,1/L1,1ENDFORK2N1LK,KSQRTAK,KSUMLK,1K12FORIK1NLI,KAI,KSUMLI,1K1LK,1K1/LK,KENDENDLN,NSQRTAN,NSUMLN,1N12解下三角方程组LYB相应的递推公式如下,求出Y矩阵YZEROSN,1先生成方程组的因变量的位置,给定Y的初始值FORK1NJ1K1YKBKLK,JYJ/LK,KEND解上三角方程组L’XY递推公式如下,可求出X矩阵XZEROSN,1UL 求上对角矩阵FORKN11JK1NXKYKUK,JXJ/UK,KENDA4,2,4,0,2,4,0,02,2,1,2,1,3,2,04,1,14,1,8,3,5,60,2,1,6,1,4,3,32,1,8,1,22,4,10,34,3,3,4,4,11,1,40,2,5,3,10,1,14,20,0,6,3,3,4,2,19B0620239221545XPFPFA,BX1211481140112729751560152810912026796354259201852、改进平方根法FUNCTIONXIMPROVECHOLESKYA,B,N用改进平方根法求解AXBLZEROSN,NL为NN矩阵DDIAGN,0D为NN的主对角矩阵SLDFORI1NL的主对角元素均为1LI,I1ENDFORI1NFORJ1N验证A是否为对称正定矩阵IFEIGAA4,2,4,0,2,4,0,02,2,1,2,1,3,2,04,1,14,1,8,3,5,60,2,1,6,1,4,3,32,1,8,1,22,4,10,34,3,3,4,4,11,1,40,2,5,3,10,1,14,20,0,6,3,3,4,2,19B0620239221545N8XIMPROVECHOLESKYA,B,NX1211481140112729751560152810912026796354259201854、结果分析和讨论平方根法和改进平方根法求解线性方程组的解为X(1211481,1401127,297515,601528,109120,267963,54259,20185)T。与精确解相比较也存在很大的误差,虽然系数矩阵的对角元素都大于零,原则上可以不必选择主元,但由于矩阵的数值问题较大,不选主元的结果就是产生很大的误差,所以在求解的过程中还是应该选择主元以此消除误差,提高精度。5、完成题目的体会与收获对称正定矩阵的平方根法及改进平方根法是目前解决这类问题的最有效的方法之一,合理利用的话,能够产生很好的求解效果。改进平方根法较平方根法,因为不用进行开方运算,所以具有一定的求解优势。通过求解此题,学会了平方根法和改进平方根法MATLAB编程,使我受益匪浅。
这篇关于平方根法matlab算法,matlab平方根法和改进平方根法求解线性方程组例题与程序.doc...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!