地震工程作业哈工大 MATLAB程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地震工程大作业
哈工大李金平
弹性反应谱
原创性声明,主程序由本人独立编写完成,支持各种检验。所选地震动RSN2345CHICHI.AT2 peer索取号:2345
:
010203040506070 -0.25
-0.2
-0.15
-0.1
-0.05
0.05
0.1
0.15
0.2
0.25
时间 (s)
加
速
度
(
m
/
s
2
)
位移反应谱
局部放大
1234
5678910
周期T (s)
位移 (m m )
1
1.02
1.04
1.06 1.08
1.1
1.12
9.2
9.25
9.39.359.49.459.5
9.559.69.659.7周期T (s)
位移 (m m )
求比值
1
2
3
4
567
8
9
10
0.940.950.960.970.980.991
1.011.021.031.04
周期T (s)
比值
绝对加速度反应谱
局部放大
0.2
0.4
0.6
0.8
1 1.
2 1.4
1.6
1.8
2
00.10.20.30.40.50.60.70.80.91周期T (s)
S a (m /s 2)
-0.25
-0.2
-0.15
-0.1
-0.05
00.050.1
0.15
0.2
0.25
0.150.2
0.250.3
0.35
0.4
0.45周期T (s)
S a (m /s 2
)
求比值进行比较
速度反应谱
1
2
3
4
567
8
9
10
0.940.950.960.970.980.991
1.011.021.031.04
周期T (s)
比值
1
2
3
4
567
8
9
10
00.010.020.030.040.050.060.07
0.080.090.1周期T (s)
速度 (m /
s )
局部放大观察差异
求比值进行比较。
00.020.04
0.060.080.10.12
-4
周期T (s)
速度 (m /s )
1234
5678910
0.70.8
0.91
1.1
1.2
1.3
周期T (s)
比值
结论:
对比:拟合效果非常好,短周期0s 近30%,加速度和位移误差都在3%以内,周期0.2s 理解:本次计算的反应谱是在给定的地震动下,具有相同阻尼比(5%)不同周期的单自 由度结构的线弹性反应幅值,得到的速度、加速度、移幅值随周期变化的三条曲线。 a1(i)=max(abs(a+xg')); v1(i)=max(abs(v)); x1(i)=max(abs(x)); 用法:今后给定一个结构,我们可以计算其周期T1,然后在相应的反应谱图表里面找到 对应的谱值如Sa 、Sv、Sd,即为我们所要求得的该结构在指定地震动作用下最大动力反应,将动力分析简化成为静力计算,简单方面。(弹性范围内) 主程序DZZY.m clear clc M=1;%[] fid=fopen('RSN2345CHICHI.txt');%%读取地震动加速度记录 xg=9.8*fscanf(fid,'%f'); fclose(fid); n=length(xg); F=-M*xg'; %生成地震力 for i=1:1000 tn(i)=0.01*i; K=2*pi*2*pi/tn(i)/tn(i); lamda=2*pi/tn(i); dt=0.005; t=(0:0.005:(n-1)*0.005)'; x0=0; v0=0; a0=0; ksi=0.01*5; DAMPER=2*ksi*lamda*M; [x,v,a]=newmarkb(M,K,DAMPER,1,F,x0,v0,a0,dt,n); a1(i)=max(abs(a+xg')); v1(i)=max(abs(v)); x1(i)=max(abs(x)); end test=importdata('a2.txt'); %%读取Seismosignal绝对加速度a2=test(:,2)*9.8; testv=importdata('v2.txt'); %%读取Seismosignal速度 v2=testv(:,2); testd=importdata('x2.txt'); %%读取Seismosignal相对位移x2=testd(:,2); tn=0.01:0.01:10; figure (1) plot(tn,x1*1000,'r--') xlabel('周期T (s)') ylabel('位移(mm)') hold on plot(tn,x2*1000,'linewidth',2) legend('matlab相对位移','Seismosignal相对位移') % %