|
楼主 |
发表于 2007-11-17 14:27
|
显示全部楼层
两个例子:多自由度系统脉冲响应和自由响应
例子1:三自由度系统的脉冲响应
- clear;clc
- N=3;
- %Assemble mass matrix
- m=ones(N,1)*4e5;
- M=diag(m);
- %Assemble stiffness matrix
- k=ones(N,1)*2e8;
- K(1,1)=k(1)+k(2);
- K(1,2)=-k(2);
- for i=2:N-1
- K(i,i-1)=-k(i);
- K(i,i)=k(i)+k(i+1);
- K(i,i+1)=-k(i+1);
- end
- K(N,N-1)=-k(N);
- K(N,N)=k(N);
- %Assemble damping matrix
- ac=0.7334;
- bc=0.0026;
- C=ac*M+bc*K;
- x0(:,1)=0*ones(N,1);
- v0(:,1)=0*ones(N,1);
- a0(:,1)=0*ones(N,1);
- RecordLength=1000;
- dt=0.01;
-
- P=zeros(N,RecordLength);
- P(1,2)=1e5;
- [x,v,a]=newmarkb(M,K,C,N,P,x0,v0,a0,dt,RecordLength);
复制代码
位移:
速度
加速度
例子2:三自由度系统的自由响应
- clear;clc
- N=3;
- %Assemble mass matrix
- m=ones(N,1)*4e5;
- M=diag(m);
- %Assemble stiffness matrix
- k=ones(N,1)*2e8;
- K(1,1)=k(1)+k(2);
- K(1,2)=-k(2);
- for i=2:N-1
- K(i,i-1)=-k(i);
- K(i,i)=k(i)+k(i+1);
- K(i,i+1)=-k(i+1);
- end
- K(N,N-1)=-k(N);
- K(N,N)=k(N);
- %Assemble damping matrix
- ac=0.7334;
- bc=0.0026;
- C=ac*M+bc*K;
- x0(:,1)=0*ones(N,1);
- v0(:,1)=0*ones(N,1);
- a0(:,1)=0*ones(N,1);
- v0(1,1)=0.05;
- RecordLength=1000;
- dt=0.01;
-
- P=zeros(N,RecordLength);
- [x,v,a]=newmarkb(M,K,C,N,P,x0,v0,a0,dt,RecordLength);
复制代码
结果图
位移:
速度
加速度
自由度1的位移fft变换
|
评分
-
2
查看全部评分
-
|