在代码中求解线性方程的最佳方法

时间:2010-12-08 03:43:38

标签: .net math

  

可能重复:
  Solving a linear equation

我需要以编程方式解决C#和VB中的线性方程组

以下是方程的一个例子:

 12.40 = a * 56.0 + b * 27.0 + tx
-53.39 = a * 12.0 + b * 59.0 + tx
 14.94 = a * 53.0 + b * 41.0 + tx

我想获得a,b和tx的最佳近似值。

我应该使用某种矩阵类吗?

4 个答案:

答案 0 :(得分:4)

Gauss-Jordan消除是解决像这样的联立线性方程组的最直接和最容易理解的方法。 LU分解在数值上更稳定,但是你的矩阵看起来条件不好,所以我认为你不需要额外的复杂性。

答案 1 :(得分:2)

如果将系数存储在矩阵中,可以通过计算矩阵的LU分解来求解。我对确切的算法并不十分熟悉,但维基百科上的这个页面应该是一个很好的起点:

http://en.wikipedia.org/wiki/System_of_linear_equations#Solving_a_linear_system
http://en.wikipedia.org/wiki/LU_decomposition

答案 2 :(得分:2)

使用Cramer's Rule按此规则很容易求解线性方程式。

要使用http://www.codeproject.com/KB/cs/CSML.aspx

解决矩阵问题

答案 3 :(得分:1)

我认为我们已经看到了这个问题:Solving a linear equation