什么是MATLAB的MathNet等价物解决C = A\B

Bil*_*soe 5 c# matlab solver math.net

我最近开始使用MathNet来实现我们的线性代数,但是我在将MATLAB函数转换为MathNet时遇到了一些麻烦.

在MATLAB中,我经常使用反斜杠运算符来简单求解:

C = A\B

MathNet中的等价物是什么?

我使用C = Inv(A)*B在小矩阵中得到相同的结果,但我不知道结果是否精确.

Chr*_*egg 5

var C = A.QR().Solve(B); (使用QR分解)

对于方阵:(var C = A.LU().Solve(B);使用 LU 分解)


Nic*_*las 2

我不认为 MathNet 有任何与 Matlab 反斜杠运算符“等价”的东西。有关 Matlab 反斜杠如何工作的一些信息,请参阅此站点:Matlab 手册 mldivide()。我想你可以看看一些求解方法,比如 QRSolve,但我认为它们不会那么容易使用......

你所说的“精确”是什么意思?您是在问 MathNet 的 inv() 是否可以精确反转矩阵,或者您只是在问是否可以将 C 计算为 Inv(A)*(B)?

如果你问的是后者,是的,对于方阵Matlab的反斜杠与Inv(A)*(B)大致相同。