基于matlab的LU分解&x27;斯林索夫酒店
所以我试图用LU分解来解一个线性方程组。我在matlab中编写了一个代码,与matlab的linsolve的输出进行比较。让我困惑的是: 据我所知(从我在这个网站上学到的:)Lu分解的工作原理是将A分解为L(下三角)和U(上三角)。然后通过求解两个方程计算x: B=LY; Y=UX 所以我的困惑来了 如果我做x_solutions=linsolve(A,B),我会得到一个不同的结果,如果我做x=linsolve(U,y)(当然先做y=linsolve(L,B)) 有人知道为什么会这样吗?在这种情况下,x不应该等于x_解吗?还是我遗漏了什么 为了泄露所有信息,我就是这么做的:基于matlab的LU分解&x27;斯林索夫酒店,matlab,decomposition,Matlab,Decomposition,所以我试图用LU分解来解一个线性方程组。我在matlab中编写了一个代码,与matlab的linsolve的输出进行比较。让我困惑的是: 据我所知(从我在这个网站上学到的:)Lu分解的工作原理是将A分解为L(下三角)和U(上三角)。然后通过求解两个方程计算x: B=LY; Y=UX 所以我的困惑来了 如果我做x_solutions=linsolve(A,B),我会得到一个不同的结果,如果我做x=linsolve(U,y)(当然先做y=linsolve(L,B)) 有人知道为什么会这样吗?在这种情
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);
提前谢谢你
triu
和tril
不会在LU分解中给出L和U
它们只给出矩阵的上下部分,即
A == LOW + UPP - diag(A)
diag(A)
被减去,因为LOW
和UPP
都有A
在LU分解中,L和U应该满足
A == L*U
如果您想获得此类L
和U
,请使用
[L,U] = lu(A);