2016-11-21 81 views
-3

它是解決矩陣的gauss seidel迭代方法的一部分,但我不確定這段代碼是做什麼的。矩陣「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.... 

LU將包含奧爾和ù矩陣A的PPER部分。

小注:您正在使用size錯誤。第一個輸出參數是行,第二個輸出參數是列。交換變量:

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

謝謝。如何確切地說,L包含矩陣的下半部分? – Monty

+0

@Monty'L'循環遍歷所有行,但只捕獲從第一列到對角元素。 'U'也是一樣的,但是對於列,我們從對角線元素到最後一列。你可以在代碼中看到它。順便說一句,如果這有幫助,考慮接受這個答案,讓每個人都知道你不需要更多的幫助在這個問題上。祝你好運! – rayryeng