1 / 9
文档名称:

矩阵doolittle分解算法.docx

格式:docx   大小:104KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

矩阵doolittle分解算法.docx

上传人:小雄 2020/9/11 文件大小:104 KB

下载得到文件列表

矩阵doolittle分解算法.docx

文档介绍

文档介绍:解线性方程组的Doolittle分解目的意义:学****和掌握线性代数方程组的Doolittle分解法。运用Doolittle分解法进行计算。方法原理:矩阵A的这种分解方法n阶线性方程组的系数矩阵A非奇异且有分解式A=LR,其中L为单位下三角矩阵,R为上三角矩阵,即L二(1“),当ivj时,1疔0;R=(r-.),当i>j时,i•疔0为Doolittle的分解。比较等号两边的第i行和第列的元素,,因为k=\a\\®2…气]■1■_rll光…叮a21a22•…a2n,211r22…r2n—■•••••••••••••••••••••■••••.d“l%•••ClS/M」5/...1ln2 丄」rnnJ所以5=工*5二工Mj+q,i<=j,从而k=\ k=l/-1当 j=z+l,z+2,---/? 时竹/一工人偽,丿=川+1,••仇=工1血=工也+1曲从而-=(勺-工从G”乙,/"+1,…丿,于是就得k=\aijk=\ Bl到了计算LR分解的一般计算公式。算法描述:k_\Setp1:利用for循环求出rki~aki~Yjk/m,lik=(aik- /rkkQ]_1 ”Step2:卩:=勺-工3,得出壬=(x一E%林)/%k=\ k=i+\程序代码:头文件:#include<iostream<h>typedefdoubleDatatype;classMatrixprivate:Datatype**ar;intM;intN;public:Matrix(inta=O,intb=0);〜Matrix();voidprint();voidInit();voidDoolittle(Matrix&L,Matrix&R);friendvoidInit_LR(Matrix&L,Matrix&R);voidget_Y(Matrix&b,Matrix&L);voidget_X(Matrix&YMatrix&R);};CPP文件:#include<>#include<>#include<>#include""voidInit_LR(Matrix&L,Matrix&R){for(inti=0;i<;++i){for(intj=O;j<;++j){if(i<=j){if(i!二j){[i]U]=0;}else{[iJU]=l;}}[i][j]=0;二二邑誉J(+〜::.xvww-(NKodBEsQ)JOQZ-s)oo=ELUrQdAlsEGlr三JG(H+"<DdAlsEG)JO<Dz一s)oo=euJQ芳gdAlseGlrJExthnFw一報一凶姒N如三三三三三三_0卫孑mmewteew二二三JeAAUk(T+Nvro也WVOJ二puovyowrVVI+vvnJOSEPo£」・\/vmo。一(工+WHo上M)」OJ報国妥参后三三三三三三三三一夕2=8与三POAHpuowlnoo二二三」EVv(巾)AVRSVVMO。一(T+Nvro丄主)joj(+匕wv=01m)」£一彖医£0三三三三三三三三po>}voidMatrix::Doolittle(Matrix&L,Matrix&R)///////