簡體   English   中英

找出具有符號系數的多項式的根

[英]Finding the roots of a polynomial with symbolic coefficients

作為任務的一部分,我必須導出汽車懸架系統的運動方程。 本質上,這是彈簧質量阻尼器的問題。 尚未提供轎廂質量M1,車輪質量M2,彈簧常數k1和k2以及阻尼常數c的值。 我已經得出了運動方程,並得出了將路面(輸入)與所產生的車身位移(輸出)相關的傳遞函數。 我必須確定該傳遞函數的極點,因此我需要找到特征方程(分母)的根。 問題是我沒有上述變量的任何值,並且試圖在符號中分解我的4階多項式在MATLAB中或直接計算根。 我不能假定任何值,必須以符號方式求解,但是我不知道在MATLAB中是否可以實現。

我沒有使用MATLAB的豐富經驗,所以我不了解它的所有功能。

我要解決的特征方程是:

(M1*M2)*s^4 + c*(M1+M2)*s^3 + ((M1*k1)+(M1*k2)+c^2+(M2*k2)-c)*s^2 + k1*c*s + ((k1*k2)-(k2^2))

先感謝您。

你的方程式有一些錯誤;

 c(M1+M2)*s^3 -> c*(M1+M2)*s^3
 + +k1*c*s -> + k1*c*s

但是,如果您想求解多元方程,可以這樣做。

syms M1 M2 c k1 k2 s
eqn = (your equation) == 0;
roots = solve(eqn, s);

更多信息在這里: solve

現在,僅在要計算方程的根的情況下,才需要執行以下步驟,該根與前面的注釋類似:

1. syms c s
2. roots=solve((M1*M2)*s^4 + c*(M1+M2)*s^3 + ((M1*k1)+(M1*k2)+c^2+(M2*k2)-c)*s^2 + k1*c*s + ((k1*k2)-(k2^2)),s)
or
roots=solve((M1*M2)*s^4 + c*(M1+M2)*s^3 + ((M1*k1)+(M1*k2)+c^2+(M2*k2)-c)*s^2 + k1*c*s +((k1*k2)-(k2^2)),c)
or 
roots=solve((M1*M2)*s^4 + c*(M1+M2)*s^3 + ((M1*k1)+(M1*k2)+c^2+(M2*k2)-c)*s^2 + k1*c*s + ((k1*k2)-(k2^2)),s,c)

取決於您想要的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM