多自由度非比例阻尼的线性方程解法!!
看到很多同学问有阻尼的系统方程如何解,这是我在书上看到的,希望对大家有帮助!!下面是matlab程序,输入M,D,K,即可求得:
function =vbr_sf(m,d,k)
%vbr_sfvbr_sf(m,d,k)
% =vbr4(m,d,k)
% function vbr_sf finds the mode shapes and natural frequencies of
% a linear second order matrix equation.
% =vbr_sf(m,k) finds the mode shapes and natural frequencies
% for the undamped case.
if nargin==2
k=d;
=eig(m\k);
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.')
=eig(m\k);
w=sqrt(w);
zeta=(v'*m*v)\(v'*d*v)/2/w;
else
%disp('Damping is non-proportional, eigenvectors are complex.')
a=;
=eig(a);
w=abs(w1);
zeta=-real(w1)/w;
end
end
w=diag(w);zeta=diag(zeta);
[ 本帖最后由 gxc8208 于 2007-5-24 16:41 编辑 ] 楼主,这个问题你最后怎么解决的啊?我也遇到了,求指导~ 楼主这个帖好像是分享代码吧! 并非提问题!? 谢谢楼主无私分享!! 正在学习这个咧。谢谢楼主,感谢分享。 楼主好,刚开始学习Matlab,这个程序不是很懂。是不是这个程序输入到Matlab,然后在输入M,D,K就可以运算出来? 还有,隐藏的部分看不到,是不是很重要啊 谢谢啦 真的很感动 其实我更想知道这是哪本书~~~~ 好人一生平安 norm(d/m*k-k/m*d) < 1e-8*norm(k/m*d) 这句话到底什么意思
页:
[1]