振动系统固有特性一般指的是振动系统在自由振动条件下的特性,它包含固有频率和振型,振动系统的固有特性和激励。对应到数学上,就是振动系统齐次微分方程的特征,即特征解(包含特征值和特征向量),特征值对应固有频率,特征向量对应振型。 离散振动系统齐次微分方程通常可以表示为: 式中:M为质量矩阵,C为阻尼矩阵,K为刚度矩阵。求解上述齐次微分方程的特征解即可获得系统的固有特性。以下为matlab求解特征值的方法: 无阻尼系统 在不考虑阻尼的条件下,振动系统固有特性求解较为简单,直接采用eig函数即可实现,具体如下: [vec,val]=eig(inv(M)*K); 计算出特征向量阵vec和特征值val,再排序即可得到振型矩阵和频率。 阻尼系统 对于考虑阻尼的振动系统,声振论坛会员gxc8208分享了一个函数,供大家参考: function [v,w,zeta]=vbr_sf(m,d,k) % vbr_sf vbr_sf(m,d,k) % [v,w,zeta]=vbr4(m,d,k) % function vbr_sf finds the mode % shapes and natural frequencies % of a linear second order matrix % equation. % [v,w]=vbr_sf(m,k) finds the mode % shapes and natural frequencies % for the undamped case. if nargin==2 k=d; [v,w]=eig(mk); w=sqrt(w); end if nargin==3 if norm(d/m*k-k/m*d) < 1e-8*norm(k/m*d) % disp('Damping is proportional, eigenvectors are real.') [v,w]=eig(mk); w=sqrt(w); zeta=(v'*m*v)(v'*d*v)/2/w; else % disp('Damping is non-proportional, eigenvectors are complex.') a=[0*k eye(length(k));-mk -md]; [v,w1]=eig(a); w=abs(w1); zeta=-real(w1)/w; end end w=diag(w); zeta=diag(zeta); 如果阻尼矩阵是非对称的,则需要对其进行的变形处理之后才能计算。 来源:声振论坛 |