URL*_*L87 6 matlab linear-algebra matrix-decomposition matrix-factorization
给定L和U LU分解和常量向量b这样LU*x=b ,是否有任何内置函数可以找到x?意思是这样的 -
X = functionName(L,U,b)
Run Code Online (Sandbox Code Playgroud)
注意在这两个L和U我们面对的是可直接要解决三角矩阵向前和向后的替换,而无需使用高斯消元过程.
编辑:
解决这个线性方程系统应该按照以下步骤 -
1. define y - s.t Ux=y
2. solve Ly=b by forward substitution
3. solve Ux=y by backward substitution
4. return y
Run Code Online (Sandbox Code Playgroud)
编辑2:
我发现linalg :: matlinsolveLU 但我没有尝试它因为我的版本太旧(R2010a).它适合任何人吗?
如果你有:
A = rand(3);
b = rand(3,1);
Run Code Online (Sandbox Code Playgroud)
那么系统的解决方案可以简单地计算为:
x = A\b
Run Code Online (Sandbox Code Playgroud)
或者,如果您已经对A进行了LU分解,那么:
[L,U] = lu(A);
xx = U\(L\b)
Run Code Online (Sandbox Code Playgroud)
该mldivide函数足够智能以检测矩阵是三角形并相应地选择算法(前向/后向替换)