【求助】多自由度 有阻尼系统的自由振动 如何求解
现在正做一个八自由度系统的振动分析,{x''}+{x'}+{x}=0
M是主对角线矩阵
K,C都是非对称的8x8矩阵
求助:
1. 此系统的固有频率和主振型是否与无阻尼系统的计算方法相同,?
2. 已知初始条件t=0时的{x'}和{x},如何求解系统响应? 本帖最后由 博大广阔 于 2012-4-20 16:13 编辑
转化成状态方程。用matlab 中的initial()函数即可
如
Plot the response of the state-space model
jar:file:///D:/MATLAB/R2011b/help/toolbox/control/help.jar%21/ref/eqn1255716302.gifto the initial condition
jar:file:///D:/MATLAB/R2011b/help/toolbox/control/help.jar%21/ref/eqn1255716659.gifa = [-0.5572 -0.7814;0.78140];c = ;x0 = sys = ss(a,[],c,[]);initial(sys,x0) 回复 2 # 博大广阔 的帖子
1.先改写成状态方程,后用eig函数求解;
2.数值方法很多,Newmark法,Wilson法等等。 能不能写出个详细步骤来呢,我现在急需要一份,用增量谐波法解的matlab程序,谢谢了 回复 4 # meiqiuchixiaoji 的帖子
给你一个自编的四阶龙格计算方法
function a=R_K()
%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算初始值及计算时间长%%%%%%%%%%%%%%%%%%%%%%
u=0; %控制规律
t=0; tmax=10; h=0.01;
x10=; %初始条件
%%%%%%%%%%%%%%%%%%%%%四阶龙格计算%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=1; %循环程序需要的初始值
%%%%%%%%%%%%%%%%%%%%%%%主程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
while t<tmax
=derives(t,x10,u);
m1=h*dX; t=t+0.5*h;X=x10+0.5*m1; %更新导数
=derives(t,X,u);
m2=h*dX; X=x10+0.5*m2; %更新导数
=derives(t,X,u);
m3=h*dX; t=t+0.5*h; X=x10+m3; %更新导数
=derives(t,X,u);
m4=h*dX;
x10=x10+(1/6)*(m1+2*m2+2*m3+m4);
y=x10(1); %输出
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
XX(n)=y;Time(n)=t; %用于保存
n=n+1;
end
plot(Time,XX,'b');grid on;
end
%求导数
function =derives(t,X,u)
fi=10*exp(-0.5*t).*cos(3*t); %振动系统对象
A=[-14.6254 0;1 0]; B=; f=u+fi;
dX=A*X+B*f;
end
用matlab 查下initial命令怎么用就知道了、、、 很有用的讨论。谢谢各位分享。
页:
[1]