1.コード
%% LU分解 機能LUDM LU_Decomposition_method =(A、B) グローバルN-、グローバルB; U-グローバル;グローバルL、Mグローバル; [N-、N-] =サイズ(A); B = [A、B]; R_A =ランク(A); R_B =ランク(B); IF〜= R_B R_A DISP( '方程式が解がありません'); ELSEIF(R_A == R_B)&&(N - == R_A) DISP( 'この式は一意の解を有する')を; M = LU_decomposition(A); L = M(:、:、1); U- = M(:、:、2); 行列1 = [L B]; Y = Lower_trig_iterative_solution(行列1); 行列2 = [UY]。 = Upper_trig_iterative_solution X-(行列2); ;( 'LU分解= Lで')DISP L DISP( '= U-のLU分解'); U- 他 DISP( '式は、無限の数の解を持っている'); エンド DISP(」解ベクトルは次のとおりです。「); LUDM = X; L(J、K、I)= 1。 %%矩阵的LU分解 機能LUD = LU_decomposition(A) [N、N] =サイズ(A)。 M = Elementary_transformation_of_the_lower_triangle(A)。 L = M(:、:、n)は、U = A。 iは=のために1:1:N-1 U = M(:、:、I)* U。 終了 LUDを(:、:、1)= L。 LUD(:、:、2)= U。 エンド %%下三角初等变换 機能ETLT = Elementary_transformation_of_the_lower_triangle(A) [N、N] =サイズ(A)。 L =ゼロ(N、1、N) 1:N I 1 =ために J = 1:1:N K = 1:1:N jの場合== k個の 端部 端を エンド エンド iは=のために1:1:N-1 、J = 1:1:N K = 1:1:N であればJ> K IをK ==場合 Lを(J、K、I)= -A (J、K)/ A(K、K)。 端 L(I + 1:N、I、N)= -L(I + 1:N、I、I)。 エンド エンド エンド A = L(:、:、I)* A。 エンド ETLT = L。 エンド %%下三角迭代法 関数LTIS = Lower_trig_iterative_solution(M) [M、N] =サイズ(M)。 B = M(:、1:N-1); BA = M(:、n)は、 Y =ゼロ(1、M)。 Y(1)= BA(1)。 1:I 2 =のためのm の合計= 0; 1:J = 1のI-1 の合計=合計+ B(i、j)は* Y(J) エンド Y(I)= BA(I)-sum。 終了 LTIS = Y 'を、 エンド %%上三角迭代法 関数UTIS = Upper_trig_iterative_solution(M) [M、N] =サイズ(M)。 B = M(:、1:N-1); BA = M(:、n)は、 X =ゼロ(1、M)。 X(M)= BA(M)/ B(M、M)。 -1:I = M-1 1 合計= 0; ただしj = I + 1:1:Mの 和=和+ B(i、j)は* X(J)。 終わり X(I)=(B-A(I)-sum)/ B(I、I)。 終わり UTIS = X '; エンド・ エンド
2.例
全てクリア CLC M =ランド(9) B =変形(RAND(3)、9,1) S = LU_Decomposition_method(M、B) M \ Bを
結果
M = 7の列1 0.5944 0.4709 0.4076 0.4235 0.5181 0.0680 0.6022 0.0225 0.6959 0.8200 0.0908 0.9436 0.2548 0.3868 0.4253 0.6999 0.7184 0.2665 0.6377 0.2240 0.9160 0.3127 0.6385 0.9686 0.1537 0.9577 0.6678 0.0012 0.1615 0.0336 0.5313 0.2810 0.2407 0.8444 0.4624 0.1788 0.0688 0.3251 0.4401 0.6761 0.3445 0.4243 0.4229 0.3196 0.1056 0.5271 0.2891 0.7805 0.4609 0.5309 0.6110 0.4574 0.6718 0.6753 0.7702 0.0942 0.5985 0.6544 0.7788 0.8754 0.6951 0.0067 0.3225 カラム8-9 0.7847 0.1917 0.4714 0.7384 0.0358 0.2428 0.1759 0.9174 0.7218 0.2691 0.4735 0.7655 0.1527 0.1887 0.3411 0.2875 0.6074 0.0911 、B = 0.5762 0.6834 0.5466 0.4257 0.6444 0.6476 0.6790 0.6358 0.9452 この式は、一意の溶液有する LU分解L = L = カラムを1-7 1.0000 000 000 1.00000万0.0379 0.7155 0.5352 1.0000 0000 -74.4491 0.5261 0.5762 1.0000 0 0 0.2717 0 1.0000 1.7669 -0.1391 -136.4397 0.3008 -74.0359 0.9200 -0.1074 0.6765 1.0000 0 -0.5996 0.3838 42.5434 1.0000 -141.0829 0.7115 -0.0228 0.1585 -70.1396 0.6728 -1.3001 0.8852 -0.0414 0.4925 1.0070 0.2658 -39.5864 0.4476 1.3552 49.3425 -0.3788 8つの行。9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0000 0 5.1107 1.0000 LU分解U = U- = カラム1-7 0.5944 0.4709 0.4076 0.4235 0.5181 0.0680 0.6022 0 0.6781 0.8045 0.0748 0.9240 0.2522 0.3640 0 0.2903 0.0404 -0.2275 -0.0765 -0.0039 0 0 0 0 -5.8101 3.4944 21.0900 -16.7848 -0.0000 -1.1550 0.1988 2.6992 0 0 0 0.0000 0 0 0 0 - 0.0074 0.5483 0.0000 76.6535 -0.0000 0 0 0 0 0.0000 0.0000 0 0 0 0 -0.0000 -0.0000 -0.0000 0.0000 0 0 0 0 カラム8-9 0.7847 0.1917 0.4416 0.7312 -0.7621 -0.2857 -57.2283 -20.8735 -2.2924 -1.7782 -1.9343 0.0429 -274.3037 6.4447 -1.9999 -0.0598 0 0.7768 溶液ベクトルである: S = -0.9496 2.2130 0.5483 1.9595 -3.8859 -0.4632 0.4453 0.3978 2.6573 ANS = -0.9496 2.2130 0.5483 1.9595 -3.8859 - 0.4632 0.4453 0.3978 2.6573 >>