?? main_b20bijiao.m
字號:
%該程序為主程序
clear;%清除工作空間變量;
clc;format compact;format long g;
%per=[0:0.2:1.0 1.5:0.5:2 3:1:6];%設定自振周期范圍,分別采用不同的密度;
per=0:0.2:6;
sp=length(per);
%采用不同的屈服強度系數;
ebx(1)=0.167;
ebx(2)=0.2;
ebx(3)=0.25;
ebx(4)=0.333;
ebx(5)=0.5;
for iy=1:5
eb=ebx(iy);
%=加載地震波=-------------------------------------------------------------------
%next one 2
fida(1)=fopen('e:/berkleywave/northridge/nor_116360_a.txt','r+');
fidv(1)=fopen('e:/berkleywave/northridge/nor_116360_v.txt','r+');
ddt(1)=0.02;
%next one 5
fida(2)=fopen('e:/berkleywave/northridge/nor_alh090_a.txt','r+');
fidv(2)=fopen('e:/berkleywave/northridge/nor_alh090_v.txt','r+');
ddt(2)=0.02;
%next one 8
fida(3)=fopen('e:/berkleywave/northridge/nor_ana180_a.txt','r+');
fidv(3)=fopen('e:/berkleywave/northridge/nor_ana180_v.txt','r+');
ddt(3)=0.01;
%next one 10
fida(4)=fopen('e:/berkleywave/northridge/nor_arc262_a.txt','r+');
fidv(4)=fopen('e:/berkleywave/northridge/nor_arc262_v.txt','r+');
ddt(4)=0.01;
%next one 24
fida(5)=fopen('e:/berkleywave/northridge/nor_bld360_a.txt','r+');
fidv(5)=fopen('e:/berkleywave/northridge/nor_bld360_v.txt','r+');
ddt(5)=0.02;
%next one 28
fida(6)=fopen('e:/berkleywave/northridge/nor_bpk180_a.txt','r+');
fidv(6)=fopen('e:/berkleywave/northridge/nor_bpk180_v.txt','r+');
ddt(6)=0.01;
%next one 37
fida(7)=fopen('e:/berkleywave/northridge/nor_cat090_a.txt','r+');
fidv(7)=fopen('e:/berkleywave/northridge/nor_cat090_v.txt','r+');
ddt(7)=0.01;
%next one 41
fida(8)=fopen('e:/berkleywave/northridge/nor_cdf000_a.txt','r+');
fidv(8)=fopen('e:/berkleywave/northridge/nor_cdf000_v.txt','r+');
ddt(8)=0.01;
%next one 54
fida(9)=fopen('e:/berkleywave/northridge/nor_cuc180_a.txt','r+');
fidv(9)=fopen('e:/berkleywave/northridge/nor_cuc180_v.txt','r+');
ddt(9)=0.01;
%next one 55
fida(10)=fopen('e:/berkleywave/northridge/nor_cwc180_a.txt','r+');
fidv(10)=fopen('e:/berkleywave/northridge/nor_cwc180_v.txt','r+');
ddt(10)=0.01;
%next one 60
fida(11)=fopen('e:/berkleywave/northridge/nor_del090_a.txt','r+');
fidv(11)=fopen('e:/berkleywave/northridge/nor_del090_v.txt','r+');
ddt(11)=0.01;
%next one 61
fida(12)=fopen('e:/berkleywave/northridge/nor_dwn090_a.txt','r+');
fidv(12)=fopen('e:/berkleywave/northridge/nor_dwn090_v.txt','r+');
ddt(12)=0.02;
%next one 79
fida(13)=fopen('e:/berkleywave/northridge/nor_gar000_a.txt','r+');
fidv(13)=fopen('e:/berkleywave/northridge/nor_gar000_v.txt','r+');
ddt(13)=0.01;
%next one 80
fida(14)=fopen('e:/berkleywave/northridge/nor_gar270_a.txt','r+');
fidv(14)=fopen('e:/berkleywave/northridge/nor_gar270_v.txt','r+');
ddt(14)=0.01;
%next one 81
fida(15)=fopen('e:/berkleywave/northridge/nor_gle170_a.txt','r+');
fidv(15)=fopen('e:/berkleywave/northridge/nor_gle170_v.txt','r+');
ddt(15)=0.01;
%next one 87
fida(16)=fopen('e:/berkleywave/northridge/nor_gra074_a.txt','r+');
fidv(16)=fopen('e:/berkleywave/northridge/nor_gra074_v.txt','r+');
ddt(16)=0.01;
%next one 88
fida(17)=fopen('e:/berkleywave/northridge/nor_gra344_a.txt','r+');
fidv(17)=fopen('e:/berkleywave/northridge/nor_gra344_v.txt','r+');
ddt(17)=0.01;
%next one 94
fida(18)=fopen('e:/berkleywave/northridge/nor_hem090_a.txt','r+');
fidv(18)=fopen('e:/berkleywave/northridge/nor_hem090_v.txt','r+');
ddt(18)=0.01;
%next one 104
fida(19)=fopen('e:/berkleywave/northridge/nor_ing090_a.txt','r+');
fidv(19)=fopen('e:/berkleywave/northridge/nor_ing090_v.txt','r+');
ddt(19)=0.02;
%next one 106
fida(20)=fopen('e:/berkleywave/northridge/nor_jab310_a.txt','r+');
fidv(20)=fopen('e:/berkleywave/northridge/nor_jab310_v.txt','r+');
ddt(20)=0.01;
%next one 118
fida(21)=fopen('e:/berkleywave/northridge/nor_lan360_a.txt','r+');
fidv(21)=fopen('e:/berkleywave/northridge/nor_lan360_v.txt','r+');
ddt(21)=0.02;
%next one 126
fida(22)=fopen('e:/berkleywave/northridge/nor_lh1090_a.txt','r+');
fidv(22)=fopen('e:/berkleywave/northridge/nor_lh1090_v.txt','r+');
ddt(22)=0.02;
%next one 130
fida(23)=fopen('e:/berkleywave/northridge/nor_lit180_a.txt','r+');
fidv(23)=fopen('e:/berkleywave/northridge/nor_lit180_v.txt','r+');
ddt(23)=0.01;
%next one 131
fida(24)=fopen('e:/berkleywave/northridge/nor_loa092_a.txt','r+');
fidv(24)=fopen('e:/berkleywave/northridge/nor_loa092_v.txt','r+');
ddt(24)=0.01;
%next one 146
fida(25)=fopen('e:/berkleywave/northridge/nor_lv5090_a.txt','r+');
fidv(25)=fopen('e:/berkleywave/northridge/nor_lv5090_v.txt','r+');
ddt(25)=0.02;
%next one 150
fida(26)=fopen('e:/berkleywave/northridge/nor_mal360_a.txt','r+');
fidv(26)=fopen('e:/berkleywave/northridge/nor_mal360_v.txt','r+');
ddt(26)=0.02;
%next one 152
fida(27)=fopen('e:/berkleywave/northridge/nor_man090_a.txt','r+');
fidv(27)=fopen('e:/berkleywave/northridge/nor_man090_v.txt','r+');
ddt(27)=0.01;
%next one 159
fida(28)=fopen('e:/berkleywave/northridge/nor_mrp090_a.txt','r+');
fidv(28)=fopen('e:/berkleywave/northridge/nor_mrp090_v.txt','r+');
ddt(28)=0.02;
%next one 165
fida(29)=fopen('e:/berkleywave/northridge/nor_nbi000_a.txt','r+');
fidv(29)=fopen('e:/berkleywave/northridge/nor_nbi000_v.txt','r+');
ddt(29)=0.02;
%next one 166
fida(30)=fopen('e:/berkleywave/northridge/nor_nbi090_a.txt','r+');
fidv(30)=fopen('e:/berkleywave/northridge/nor_nbi090_v.txt','r+');
ddt(30)=0.02;
%next one 191
fida(31)=fopen('e:/berkleywave/northridge/nor_php000_a.txt','r+');
fidv(31)=fopen('e:/berkleywave/northridge/nor_php000_v.txt','r+');
ddt(31)=0.01;
%next one 193
fida(32)=fopen('e:/berkleywave/northridge/nor_pic090_a.txt','r+');
fidv(32)=fopen('e:/berkleywave/northridge/nor_pic090_v.txt','r+');
ddt(32)=0.01;
%next one 198
fida(33)=fopen('e:/berkleywave/northridge/nor_pth180_a.txt','r+');
fidv(33)=fopen('e:/berkleywave/northridge/nor_pth180_v.txt','r+');
ddt(33)=0.02;
%next one 212
fida(34)=fopen('e:/berkleywave/northridge/nor_rma090_a.txt','r+');
fidv(34)=fopen('e:/berkleywave/northridge/nor_rma090_v.txt','r+');
ddt(34)=0.02;
%next one 214
fida(35)=fopen('e:/berkleywave/northridge/nor_ro3090_a.txt','r+');
fidv(35)=fopen('e:/berkleywave/northridge/nor_ro3090_v.txt','r+');
ddt(35)=0.01;
%next one 300
fida(36)=fopen('e:/berkleywave/northridge/nor_san180_a.txt','r+');
fidv(36)=fopen('e:/berkleywave/northridge/nor_san180_v.txt','r+');
ddt(36)=0.01;
%next one 221
fida(37)=fopen('e:/berkleywave/northridge/nor_sbg000_a.txt','r+');
fidv(37)=fopen('e:/berkleywave/northridge/nor_sbg000_v.txt','r+');
ddt(37)=0.02;
%next one 227
fida(38)=fopen('e:/berkleywave/northridge/nor_scs052_a.txt','r+');
fidv(38)=fopen('e:/berkleywave/northridge/nor_scs052_v.txt','r+');
ddt(38)=0.005;
%next one 229
fida(39)=fopen('e:/berkleywave/northridge/nor_sea000_a.txt','r+');
fidv(39)=fopen('e:/berkleywave/northridge/nor_sea000_v.txt','r+');
ddt(39)=0.01;
%next one 231
fida(40)=fopen('e:/berkleywave/northridge/nor_ser000_a.txt','r+');
fidv(40)=fopen('e:/berkleywave/northridge/nor_ser000_v.txt','r+');
ddt(40)=0.01;
%next one 232
fida(41)=fopen('e:/berkleywave/northridge/nor_ser270_a.txt','r+');
fidv(41)=fopen('e:/berkleywave/northridge/nor_ser270_v.txt','r+');
ddt(41)=0.01;
%next one 237
fida(42)=fopen('e:/berkleywave/northridge/nor_sor225_a.txt','r+');
fidv(42)=fopen('e:/berkleywave/northridge/nor_sor225_v.txt','r+');
ddt(42)=0.01;
%next one 238
fida(43)=fopen('e:/berkleywave/northridge/nor_sor315_a.txt','r+');
fidv(43)=fopen('e:/berkleywave/northridge/nor_sor315_v.txt','r+');
ddt(43)=0.01;
%next one 276
fida(44)=fopen('e:/berkleywave/northridge/nor_vrm090_a.txt','r+');
fidv(44)=fopen('e:/berkleywave/northridge/nor_vrm090_v.txt','r+');
ddt(44)=0.01;
%next one 278
fida(45)=fopen('e:/berkleywave/northridge/nor_w15180_a.txt','r+');
fidv(45)=fopen('e:/berkleywave/northridge/nor_w15180_v.txt','r+');
ddt(45)=0.01;
%next one 280
fida(46)=fopen('e:/berkleywave/northridge/nor_wai290_a.txt','r+');
fidv(46)=fopen('e:/berkleywave/northridge/nor_wai290_v.txt','r+');
ddt(46)=0.01;
%next one 282
fida(47)=fopen('e:/berkleywave/northridge/nor_wat270_a.txt','r+');
fidv(47)=fopen('e:/berkleywave/northridge/nor_wat270_v.txt','r+');
ddt(47)=0.01;
%next one 285
fida(48)=fopen('e:/berkleywave/northridge/nor_wil090_a.txt','r+');
fidv(48)=fopen('e:/berkleywave/northridge/nor_wil090_v.txt','r+');
ddt(48)=0.01;
%next one 296
fida(49)=fopen('e:/berkleywave/northridge/nor_wwj180_a.txt','r+');
fidv(49)=fopen('e:/berkleywave/northridge/nor_wwj180_v.txt','r+');
ddt(49)=0.01;
%=加載地震波=-------------------------------------------------------------------
um=zeros(1,sp);
rm=zeros(1,sp);
nw=49;
ztd=0;zacv=0;
for i=1:nw
tag=0.;tvg=0.;ag=0.;vg=0.;
dt=ddt(i);
ag=fscanf(fida(i),'%f',[1 inf])*9.81;
vg=fscanf(fidv(i),'%f',[1 inf])/100;
status=fclose(fida(i));status=fclose(fidv(i));
st=length(ag);%
at=dt*(st-1); %總時間為at;
t=0:dt:at;
cmag=max(abs(ag));
%ag=ag*2.2/cmag;%%%為和肖結果比較,特添加;
ag=ag*0.4*9.81/cmag;;%%%和CHAI比較,假定為0.4g,調整mvg;
vg=vg*0.4*9.81/cmag;
mag=max(abs(ag));mvg=max(abs(vg));
acv=mag/9.81/mvg;
zacv=zacv+acv;
tc=2*pi*2.0/2.5*mvg/mag;%計算場地特征周期Tc;cv=2.0;ca=2.5;
%%%&***&***能量分析應采用相同震級地面運動加速度進行標準化;
%%%計算強震時間td;td=t0.95-t0.05;
ia=zeros(1,st);
for m=2:st
ia(m)=ia(m-1)+pi/2/9.81*(ag(m-1)^2+ag(m)^2)*dt/2;
end
iac1=0.1;
iac2=0.1;
for n=1:st
ia1=abs(ia(n)/ia(st)-0.05);
ia2=abs(ia(n)/ia(st)-0.95);
if(ia1<iac1)
iac1=ia1;
t1=(n-1)*dt;
end
if(ia2<iac2)
iac2=ia2;
t2=(n-1)*dt;
end
end
td=t2-t1;
ztd=ztd+td;
%%%做線彈性計算;
para1=1;
[rd1,ad1,rv1,av1,ra1,aa1]=response_l(para1,per,ag,dt,at);
% figure(1)
% mesh(per,t,ad1) %繪制出絕對位移時頻反應譜圖;
% grid on
% xlabel('周期 / 秒');
% ylabel('時間 / 秒');
[row,rank]=size(aa1);
sa=zeros(1,rank);
for ri=1:rank
for rj=1:row
if (abs(aa1(rj,ri))>sa(ri))
sa(ri)=aa1(rj,ri);%彈性加速度反應譜sa(最大絕對加速度反應);
end
end
end
%%%做彈塑性計算;
para1=1;
[u1,nrd1,nad1,nrv1,nav1,nra1,naa1,rep]=response_n(para1,sa,per,ag,dt,at,eb);
% figure(2)
% mesh(per,t,nad1) %繪制出彈塑性位移時頻反應譜;
% grid on
% xlabel('周期 / 秒');
% ylabel('時間 / 秒');
um1=zeros(1,sp);
for np=1:sp
for nt=1:st
if (abs(u1(nt,np))>um1(np))
um1(np)=abs(u1(nt,np));
end
end
end
um=um+um1;
rm=rm+rep;
end
um=um/nw;
rm=rm/nw;
ptd=ztd/nw;pacv=zacv/nw;
%%%輸出td和a/v數據到硬盤;
save('e:\north_concrete\b20\bjpingjinzhi.txt','ptd','pacv','-ASCII')
if(iy==1)
figure(1)
plot(per(2:sp),um(2:sp),'kd-.') %繪制出彈塑性位移延性反應譜;
grid on
xlabel('周期T(s)');
ylabel('位移延性系數u');
title('彈塑性位移延性反應譜');
hold on;
figure(2)
%%%輸出數據到硬盤;
save('e:\north_concrete\b20\bjem_b20_1.txt','rm','-ASCII')
plot(per,rm,'kd-.') %繪制出累積滯回耗能譜;
grid on
xlabel('周期T(s)');
ylabel('滯回耗能Eh(J/kg)');
title('彈塑性滯回耗能譜');
hold on;
elseif(iy==2)
figure(1)
plot(per(2:sp),um(2:sp),'kh-.') %繪制出彈塑性位移延性反應譜;
hold on;
figure(2)
%%%輸出數據到硬盤;
save('e:\north_concrete\b20\bjem_b20_2.txt','rm','-ASCII')
plot(per,rm,'kh-.') %繪制出累積滯回耗能譜;
hold on;
elseif(iy==3)
figure(1)
plot(per(2:sp),um(2:sp),'ko-.') %繪制出彈塑性位移延性反應譜;
hold on;
figure(2)
%%%輸出數據到硬盤;
save('e:\north_concrete\b20\bjem_b20_3.txt','rm','-ASCII')
plot(per,rm,'ko-.') %繪制出累積滯回耗能譜;
hold on;
elseif(iy==4)
figure(1)
plot(per(2:sp),um(2:sp),'kp-.') %繪制出彈塑性位移延性反應譜;
hold on;
figure(2)
%%%輸出數據到硬盤;
save('e:\north_concrete\b20\bjem_b20_4.txt','rm','-ASCII')
plot(per,rm,'kp-.') %繪制出累積滯回耗能譜;
hold on;
else
figure(1)
plot(per(2:sp),um(2:sp),'ks-.') %繪制出彈塑性位移延性反應譜;
hold on;
figure(2)
%%%輸出數據到硬盤;
save('e:\north_concrete\b20\bjem_b20_5.txt','rm','-ASCII')
plot(per,rm,'ks-.') %繪制出累積滯回耗能譜;
hold on;
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -