Так что я пытаюсь решить систему линейных уравнений с использованием LU-разложения. Я сделал код в matlab, что сравниваю с выходом Linsolve от Matlab. Вещь, которая меня пугает, такова: Насколько я понимаю (из того, что я узнал на этом сайте: http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/CURVE-linear-system.html) Разложение Lu происходит путем разложения A на L (нижняя треугольная) и U (верхняя треугольная). И затем он вычисляет x, решая два уравнения: B = L Y; Y = U X;Разложение LU с использованием Linsolve Matlab
Так что моя конфуция приходит сюда.
Если я делаю x_solutions = linsolve (A, B), я получаю другой результат: если i x = linsolve (U, y) (конечно, сначала y = linsolve (L, B)).
Кто-нибудь знает, почему это происходит? не должен ли x быть равен x_solutions в этом случае или я что-то пропущу?
Просто ради отдать всю информацию в этом, как я это делаю:
A=[1 2 6; 1 2 2; 2 2 1];
B=[1 0 1]';
G=linsolve(A,B);
UPP = triu(A);
LOW= tril(A);
y=linsolve(LOW,B);
x=linsolve(UPP,y);
Спасибо заранее!
http://stackoverflow.com/documentation/matlab/6163/matrix-decompositions#t=201609240746034184022 – StefanM