2016-11-21 12 views
-3

これは行列を解くガウス線分反復法の一部ですが、このコードが何をするのかは分かりません。行列Aはあらかじめ定義されています。マトリックス反復処理:このコードの機能は何ですか?

[columns,rows] = size(A); 
L = zeros(size(A)); 
U = zeros(size(A)); 

for i = 1:columns 
for j = 1:i 
    L(i,j) = A(i,j); 
end 
for j = i+1:columns 
    U(i,j) = A(i,j); 
end 
end 

答えて

1

この関数は、単に行列のlower and upper triangular portionsを見つけます。 Aがまだ定義されていないため、「未定義」エラーが発生しています。

A = rand(6,6); % For example 
% Rest of your code goes here.... 

LUL owerとマトリックスAU PPER部分を含むであろう:コードを実行し、Aを定義します。

マイナーノート:sizeが間違っています。第1の出力パラメータは行であり、第2の出力パラメータは列である。変数を交換:

[rows, columns] = size(A); 
+0

ありがとう。 Lは行列の下位部分をどのくらい正確に含んでいますか? – Monty

+0

@Monty 'L'はすべての行を反復しますが、最初の列から対角要素までしかキャプチャしません。 'U'も同じですが、列の対角要素から最後の列に移動します。あなたはコードでそれを見ることができます。ところで、これが助けになった場合は、この問題をもっと助ける必要がないことを皆に知らせるために、この回答を受け入れることを検討してください。がんばろう! – rayryeng