matlab特征值分解法求多自由度系统的固有频率和主振型

多自由度系统的固有频率和主振型可根据系统的无阻尼自由振动方程得到。

MX˝+KX=0
设解为 X=Ae^iωnt
可推出:
主振型方程 K-ωn^2M A=0
M^(-1)*K-ωn^2E A=0
特征方程 |M^(-1)*K-ωn^2E|=0  ,此时 A 有非零解。
对矩阵 M^(-1)*K 特征值分解,即得系统的特征值 ωn^2 ,开方后得到固有频率
将固有频率 ωnr 带入主振型方程( K-ωn^2M A=0 ,可得非零向量 Ar ,即特征向量。对一个振动系统,一个特征向量描绘了系统振动位移的一种形态,称为主振型(主模态)。特征向量也可由 M^(-1)*K 特征值分解得到。
某阶主振型各个坐标幅值的大小取决于系统的初始条件。
 
常用的特征值分解法求主振型的程序
 
|——>k1——>m1——>k2——> m2
 
m1=1;m2=9;k1=4;k2=2;
M=[m1,0;0,m2];K=[k1+k2,-k2;-k2,k2];  %二阶参数矩阵
[eig_vec,eig_val] = eig(inv(M)*K);
[omeg,w_order]    = sort(sqrt(diag(eig_val)));  
 %频率
mode_vec = eig_vec(:,w_order); 
%振型
T=2.*pi./omeg;    
%周期

你可能感兴趣的:(机械,matlab)