MATLAB LU分解无响应

时间:2013-01-30 17:25:33

标签: matlab

我有一个下三角矩阵(L)和一个上三角矩阵(U)。我使用mldivide找到L*U*x = b的解决方案。我认为MATLAB足够聪明,可以发现只需要后向/前向替换。但我觉得如果我能告诉matlab(不知何故)只进行前向/后向替换会更快。

请告诉我如何告诉MATLAB只做后向/前向替换,不需要额外的操作。

由于

2 个答案:

答案 0 :(得分:1)

docs非常明确:

  

三角矩阵的排列

     

mldivide检查三角形   通过测试零元素。如果矩阵A是三角形,则为MATLAB   软件使用替换来计算解向量x。如果A是   对于三角矩阵的置换,MATLAB软件使用置换   替代算法。

所以

x = U \ (L \ b);

是您的问题的后向/前向解决方案。

答案 1 :(得分:0)

搜索documentation似乎Matlab确实使用了向后/向前替换。但是,由于mldivide分别得到矩阵L*U而不是LU,因此必须在内部执行分解。

如果您已经拥有L和U矩阵,则可以保存该部分计算。