🦔
MATLABで学ぶ振動工学 1自由度モデル(不減衰)
はじめに
振動工学を学びはじめると必ず目にするのが、1自由度のバネマスモデルです。英語では"1 degree of freedom"と呼ぶので、略して1DOFモデルとも呼びます。他にも、スプリングマスモデルやバネ質量モデル、バネ質点モデルと呼ぶこともあります。また、「モデル」ではなく「系」と呼ぶこともあります(例えば、バネマス系)。教科書によっては統一せずに混在している場合がありますが、全て同じ意味ですので、あまり気にしないでください。
理論
マスの振動
振動理論の基本的な説明は割愛させて頂き、運動方程式だけ下記に示します。
この記事ではmは100kgとして、バネ定数kを変化させたときにどのようになるかを確認します。
基礎(地面)に伝搬する振動
マスが振動して、基礎に伝搬する振動を考察する際に下式を使います。
プログラム
マスの振動
clear all
close all
freq=[0.01:0.0001:10];
m=100;
k=[100 1000 10000 100000];
W=sqrt(k/m);
freqN=W/(2*pi);
freq=[freq freqN];
freq=sort(freq);
x=zeros(length(k),length(freq));
w=2*pi*freq;
rgb=jet(length(k));
figure
for iik=1:length(k)
tempXst=1/k(iik);
x(iik,:)=1./(k(iik)-w.^2*m);
loglog(freq,abs(x(iik,:)),'color',rgb(iik,:),'linewidth',3)
hold on
end
xlabel('Freq. [Hz]')
% xlabel('ω/ω_n')
% ylabel('x/x_s_t')
ylabel('x [m]')
legend('k=100[N]','k=1000[N]','k=10000[N]','k=100000[N]')
基礎(地面)に伝搬する振動
clear all
close all
freq=[0.01:0.0001:10];
m=100;
k=[100 1000 10000 100000];
W=sqrt(k/m);
freqN=W/(2*pi);
freq=[freq freqN];
freq=sort(freq);
x=zeros(length(k),length(freq));
w=2*pi*freq;
rgb=jet(length(k));
figure
for iik=1:length(k)
tempXst=1/k(iik);
x(iik,:)=1./(k(iik)-w.^2*m);
loglog(freq,abs(x(iik,:)/tempXst),'color',rgb(iik,:),'linewidth',3)
hold on
end
xlabel('Freq. [Hz]')
% xlabel('ω/ω_n')
ylabel('x/x_s_t')
ylabel('x [m]')
legend('k=100[N]','k=1000[N]','k=10000[N]','k=100000[N]')
結果
マスの振動
基礎(地面)に伝搬する振動
この結果だけでは、「何が言いたいの?」、「何かメリットあるの?」という疑問しかありませんよ。次の記事でもう少し深堀します。
今回はこのへんでGood luck
私の個人ブログもよろしくお願いします。
Discussion