我正在嘗試編寫一個Matlab程序,該程序接受來自用戶的系統變量,但存在比系統參數更多的變量。具體而言,六個變量在三個方程:在超參數化系統中求解變量
w - d - M = 0
l - d - T = 0
N - T + M = 0
這可以用矩陣形式表示爲A*x=0
其中
A = [1 0 0 -1 0 -1;
0 1 0 -1 -1 0;
0 0 1 0 -1 1];
x = [w l N d T M]';
我希望能夠解決這個系統給出的已知子集變量。例如,如果用戶給出d
,T
,M
,那麼對於其他三個變量,系統可以得到平凡解決。如果用戶提供w
,N
,M
,則它變成可解的3-DOF系統。等等。 (如果用戶過度或不足指定系統然後錯誤當然可以結果。的)
鑑於這些組合起來很簡單的任何一個(先驗)使用矩陣代數來計算未知量。但我不知道如何解決一般情況,除了使用符號工具箱(爲了兼容性原因,我不想這麼做)。
當我開始使用這種方法時,我認爲這一步很簡單,但我的線性代數是生鏽的;我錯過了一些簡單的東西嗎
這看起來很有前途,謝謝! – 2009-11-25 12:12:43
事實上,它就像一個魅力:)看到解決方案之後,我應該能夠爲自己想象......對我來說,太長的一個晚上,我想! – 2009-11-25 12:30:56