③拍振动,在t=0时,两振子到平衡位置的距离不同,振子的质量相同,两振子在耦合弹簧及边弹簧的作用下会发生拍振动.两振子会存在能量传递.当一振子处于平衡位置另一振子离平衡位置距离为A,此两振子在耦合弹簧的作用下会发生拍振动.两振子会存在能量传递.第一个振子振幅变小时,另一个振子振幅增大.
已知条件:两振子的质量: m1=2;m2=2;边弹簧的颈度系数:K1=8;耦合弹簧的颈度系数:K2=4; 两振子的初始位置(在x轴上建坐标系):m1的初始位置:x01=1;m2的初始位置:x02=1;两振子的初始速度(以x轴正向取正值):m1的初始速度:x0d1=6;m2的初始速度:x0d2=0;
编程
clear all
m1=.2;m2=.2;K1=8;K2=4; %输入各原始参数
x0=[1;0];xd0=[6;0];tf=40; %初使条件
M=[m1,0;0,m2];K=[K1+K2,-K2;-K2,K1+K2] ;%构成参数矩阵
[u,L]=eig(K,M) ; %求广义特征向量和特征值
t=linspace(0,tf,101); x=zeros(2,101); %时间分割和输出变量初始化
for s=1:2 %分别处理两特征值
for j=1:2
alfa=sqrt(u(:,s)'*M*u(:,s)) ; %解耦后的向量
u(:,s)= u(:,s)/alfa; %把特征向量归一化
m=sqrt(L); %分别求对应于两特征值的分量
w(j)=m(j,j)
xt=u(:,j)*(u(:,j)'*M*x0*cos(w(j)*t)+u(:,j)'*M*xd0/w(j)*sin(w(j)*t));
x=x+xt; %把两个分量累加
end
end
for r=1:2 %分别对x1,x1绘图