我需要以編程方式求解線性方程組在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的最佳近似值。
我應該使用某種矩陣類什麼的?
我需要以編程方式求解線性方程組在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的最佳近似值。
我應該使用某種矩陣類什麼的?
我想我們已經看到了這個問題:Solving a linear equation
如果將係數存儲在矩陣中,則可以通過計算矩陣的LU分解來解決該問題。我並不十分熟悉的精確算法,但維基百科上關於此頁面應該是一個很好的起點:
http://en.wikipedia.org/wiki/System_of_linear_equations#Solving_a_linear_system
http://en.wikipedia.org/wiki/LU_decomposition
高斯 - 約旦消去是最直接和最容易理解的方法解決像這樣的聯立線性方程組。 LU分解在數值上更穩定一些,但是你的矩陣看起來並沒有很差的條件,所以我不認爲你需要額外的複雜性。
高斯消除是我的意思,但在上午3.55,由於某種原因,我的頭說單純!糾正。 http://en.wikipedia.org/wiki/Gaussian_elimination – Orbling 2010-12-08 03:55:49
使用Cramer's Rule這是很容易通過這個規則求解線性方程組。
你說最好的逼近,讓你知道你的矩陣將永遠廣場和良好的條件? – 2010-12-08 04:01:38
另請參閱:http://stackoverflow.com/questions/769/solving-a-linear-equation – 2010-12-08 04:07:10