我想在C++中編寫一個算法,我使用了Eigen庫。在C++/Eigen中求解線性方程
的問題是,我需要解決以下等式在C + +:
Find the coefficients: s1,..., sn ∈ R such that a(-1)ψi = s1ψ1 +...+snψn
ψi:
矩陣是已知的。
我想在C++中編寫一個算法,我使用了Eigen庫。在C++/Eigen中求解線性方程
的問題是,我需要解決以下等式在C + +:
Find the coefficients: s1,..., sn ∈ R such that a(-1)ψi = s1ψ1 +...+snψn
ψi:
矩陣是已知的。
使用您的評論的符號,形成未知數y:=[a,b,c]
的載體,形成右手側包含基質X
作爲向量的係數向量f
,並且類似地形成矩陣A
其中第j個列對應於矩陣Mj
的條目。
在這一點上,你現在必須解決形式A*y = f
的超定問題。假設您正在尋找最小二乘法解決方案,那麼您可以閱讀doc page以獲取有關如何使用Eigen執行此任務的所有詳細信息。
謝謝你的解釋,這非常有幫助,這正是我需要的。 – user2342513 2013-05-15 14:31:52
不好意思,但是我怎樣才能形成矩陣A?一列不能包含矩陣的所有條目..你能舉個例子嗎?謝謝 – user2342513 2013-05-15 15:41:22
假設Mj是一個特徵矩陣:'A.col(j)= VectorXd :: Map(Mj.data(),A.rows())'。我們有A.rows()== Mj.rows()* Mj.cols() – ggael 2013-05-15 21:38:59
你已經試過了什麼? – 2013-05-12 17:57:59
給出一個實際表達式的例子,你會找到係數並告訴我們你掛了什麼。 – ChiefTwoPencils 2013-05-12 18:17:01
我有一個方程:X = a.M1 + b.M2 + c.M3 與X,M1,M2,M3已知矩陣 我的問題是如何找到係數a,b和c。 – user2342513 2013-05-12 18:42:52