我在Matlab中实现了一些大型稀疏矩阵的LU分解算法来求解线性系统。当我得到 L,U 矩阵时,我使用后向替换和前向替换算法来求解三角线性系统:
%x = U\y;
for i = n : -1 : 1
x(i,:) = (y(i,:)-U(i,:)*x)/U(i,i);
end
但我发现这段代码是瓶颈。虽然我可以使用 A\b 来获得解决方案,但是我想知道如何在 Matlab 中实现一个高效的算法来解决这个问题,例如,我可以编写矩阵乘积来模拟以下动作而无需 for 循环?
(我有一些参考书和论文,但所有代码都不是在 Matlab 中,仅用于 C++ 或 C 代码)