2016-11-21 75 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