2016-05-14 68 views
0

這裏結果是代碼:如何解決聯立方程與解決,並用無根

syms G1 G2 G3 M1 M2 M3 P1 P2 P3 D1 D2 D3 
S = solve(0 == 0.9 * (20 - G1) - 0.012 * D3 * G1, ... 
     0 == 0.9 * (20 - G2) - 0.012 * D1 * G2, ... 
     0 == 0.9 * (20 - G3) - 0.012 * D2 * G3, ... 
     0 == -0.0033 * M1 + 0.002 * G1, ... 
     0 == -0.0033 * M2 + 0.002 * G2, ... 
     0 == -0.0033 * M3 + 0.002 * G3, ... 
     0 == 0.1 * M1 - 0.0033 * P1 + 2 * 0.5 * D1 - 2 * 0.025 * (P1^2), ... 
     0 == 0.1 * M2 - 0.0033 * P2 + 2 * 0.5 * D2 - 2 * 0.025 * (P2^2), ... 
     0 == 0.1 * M3 - 0.0033 * P3 + 2 * 0.5 * D3 - 2 * 0.025 * (P3^2), ... 
     0 == -0.5 * D1 + 0.025 * (P1^2) + 0.9 * (20 - G2) - 0.012 * D1 * G2, ... 
     0 == -0.5 * D2 + 0.025 * (P2^2) + 0.9 * (20 - G3) - 0.012 * D2 * G3, ... 
     0 == -0.5 * D3 + 0.025 * (P3^2) + 0.9 * (20 - G1) - 0.012 * D3 * G1) 

的問題是,我需要真正的解決辦法,但我有帶根的答案。我怎樣才能得到真正的答案?

回答

0

通過「真正解決」假設你的意思是一個數值,而不是根多項式的最確切形式,有two options取決於你打算如何使用結果:

  1. double:這將評估RootOf表達式,假設沒有可用參數,並返回double的數字輸出。雖然輸出現在限於雙精度,但如果您的目標是在計算中使用根,並關心性能,這是最快的選擇。

  2. vpa:這將評估RootOf表達式,假設沒有可用參數,並返回類sym的符號輸出。雖然事先通過調用digits來評估輸出能夠近似於不同程度的準確性,但由於其符號特性,在後續計算中可能會有大量計算開銷。