我需要以编程方式求解C,Objective C或(如果需要)C++中的线性方程组。
这是等式的一个示例:
-44.3940 = a * 50.0 + b * 37.0 + tx
-45.3049 = a * 43.0 + b * 39.0 + tx
-44.9594 = a * 52.0 + b * 41.0 + tx
由此,我想获得
a
,b
和tx
的最佳近似值。 最佳答案
Cramer's Rule
和
Gaussian Elimination
有两种很好的通用算法(另请参见Simultaneous Linear Equations)。如果您正在寻找代码,请 checkout GiNaC,Maxima和SymbolicC++(当然,这取决于您的许可要求)。
编辑:我知道您在C Realm 中工作,但我还必须为SymPy(Python中的计算机代数系统)打个好字。您可以从其算法中学到很多东西(如果您可以阅读一些python)。此外,它还获得了新的BSD许可,而大多数免费数学软件包均为GPL。
关于math - 求解线性方程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/769/