2016-11-21 2 views
-3

그것은 행렬을 해결하기 위해 gauss zidel 반복 방법의 일부이지만이 코드가 무엇을하는지 확신하지 못합니다. 행렬 '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 정의

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

LUL에게 심고 매트릭스 AU pper 부를 포함한다.

보조 주 :size을 잘못 사용하고 있습니다. 첫 번째 출력 매개 변수는 행이며 두 번째 출력 매개 변수는 열입니다. 변수를 바꾸기 :

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

감사합니다. 말하자면, L은 어떻게 행렬의 아래 부분을 포함합니까? – Monty

+0

@Monty'L'은 모든 행을 반복하지만 첫 번째 열에서 대각선 요소까지만 캡처합니다. 'U'는 동일하지만 열에 대해서는 대각선 요소에서 마지막 열로 이동합니다. 코드에서 볼 수 있습니다. BTW, 도움이된다면이 답변에 동의하면이 문제에 대한 도움이 더 필요 없다는 것을 알 수 있습니다. 행운을 빕니다! – rayryeng