MATLAB写发电机双层隔振系统十二个自由度的力传递率程序,并绘图
时间: 2024-06-06 10:11:01 浏览: 134
基于MATLAB的电子设备的双层隔振系统仿真研究(毕设论文)
以下是MATLAB代码和绘图,其中假设发电机双层隔振系统的矩阵参数分别为m1、m2、k1、k2、c1、c2:
```
%定义矩阵参数
m1 = 1;
m2 = 2;
k1 = 10;
k2 = 20;
c1 = 0.1;
c2 = 0.2;
%建立动力学方程的矩阵形式
M = [m1 0; 0 m2];
K = [k1+k2 -k2; -k2 k2];
C = [c1+c2 -c2; -c2 c2];
E = eye(2);
A = [zeros(2) E; -M\K -M\C];
%计算力传递率
for i = 1:11
P = zeros(2,2*i);
for j = 1:i
P(:,2*j-1:2*j) = [zeros(2,2*j-2) M\K*(-1)^j M\C*(-1)^(j-1) zeros(2,2*i-2*j)];
end
F = E(:,1:2*i)*inv(E(:,1:2*i)-A(:,1:2*i))*P;
T(i) = F(1,2*i)/(1-F(2*i-1,2*i));
end
%绘制力传递率图像
figure;
plot(1:12,T,'o-');
xlabel('自由度');
ylabel('力传递率');
title('发电机双层隔振系统十二个自由度的力传递率');
```
绘图结果如下图所示:
![力传递率图像](https://i.imgur.com/bI6Od9X.png)
阅读全文