【发布时间】:2016-09-24 10:12:26
【问题描述】:
所以我正在尝试使用 LU 分解来求解线性方程组。我在 matlab 中编写了一个代码,我正在与 matlab 的 linsolve 的输出进行比较。让我困惑的是: 据我了解(从我从该站点了解到的信息:http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/INT-APP/CURVE-linear-system.html)Lu 分解通过将 A 分解为 L(下三角形)和 U(上三角形)来工作。然后它计算 x 求解两个方程: B = LY; Y = UX;
所以我的困惑来了。
如果我执行 x_solutions=linsolve(A,B),我会得到与执行 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);
提前谢谢你!
【问题讨论】:
标签: matlab decomposition