人工地震波依据三角级数法.docx
《人工地震波依据三角级数法.docx》由会员分享,可在线阅读,更多相关《人工地震波依据三角级数法.docx(3页珍藏版)》请在冰豆网上搜索。
![人工地震波依据三角级数法.docx](https://file1.bdocx.com/fileroot1/2022-10/2/d741793b-99f8-489a-9838-70328d5ff8b9/d741793b-99f8-489a-9838-70328d5ff8b91.gif)
人工地震波依据三角级数法
武汉@桥梁隧道799084759
采用shinozuka的方法来模拟平稳化后的随机地面运动加速度
其中:
强度包线:
P——反应超越概率。
S——功率谱密度函数。
∆ω——频谱分度(rad/s)。
SaT(ω)——给定的目标加速度反应谱。
φk——均匀分布在0~2π之间的随机数。
具体matlab程序如下:
%形成人工波主程序
w=[0.04:
0.02:
0.1,0.15:
0.05:
3.0,3.2:
0.1:
5.0]';%频谱范围
wn=length(w);
TT=30;%持时
dltw=2*pi/TT;%Δw
ag=zeros(30/0.02+1,1);
sw=0;
kist=0;
forn=0:
30/0.02
ckn=0;
fori=1:
wn
ck=sqrt(4*sw1(w(i))*dltw);
ckn=ck*cos(w(i)*n*0.02+rand
(1)*2*pi)+ckn;
end
ag1(n+1)=ckn;
ag2(n+1)=ft(n*0.02);
ag(n+1)=ft(n*0.02)*ckn;
end
t=0:
0.02:
30;
subplot(221)
plot(t,ag)
title('地震波')
xlabel('t=0:
30(s)')
ylabel('ag(m/s2)')
subplot(222)
plot(t,ag1)
title('功率谱密度函数(随机后)')
xlabel('t=0:
30(s)')
ylabel('∑Ck*cos()(m/s2)')
subplot(223)
plot(t,ag2)
title('强度包线')
xlabel('t=0:
30(s)')
ylabel('ξ(m/s2)')
%强度包线子程序
functionksit=ft(t)
t0=2;
tn=10;
c=0.2;
ift>=0&&t<=t0
ksit=(t/t0)^2;
elseift>t0&&tksit=1;
else
ksit=exp(-c*(t-tn));
end
end
%计算功率密度函数子程序
functionsw=sw1(w)
T=2*pi/w;
ksi=0.05;
r=0.9+(0.05-ksi)/(0.5+5*ksi);
eit1=0.02+(0.05-ksi)/8;
eit2=1+(0.05-ksi)/(0.06+1.7*ksi);
Tg=0.4;%第二类场地第二组
amax=0.8;%七度区多遇地震
if(T>0&&T<0.1)
st=0.45*amax/eit2+(amax-0.45*amax/eit2)/0.1;
elseifT>0.1&&Tst=amax;
elseifT>Tg&&T<5*Tg
st=(Tg/T)^r*amax;
else
st=(0.2^r-eit1/eit2*(T-5*Tg))*amax;
end
p=0.9;%P为反应超越概率,一般取0.85
sw=ksi/(pi*w)*st^2/log(-pi/(w*T)*log(1-p));
end