地震工程作业哈工大 MATLAB程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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相对位移')

%

%

相关文档
最新文档