繁体   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