資源描述:
《MATLAB程序精確法求解反應(yīng)譜.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MATLAB程序精確法求解反應(yīng)譜-2008-04-06(本文程序僅供參考,請勿直接抄襲)2010/01/2109:52.1.反應(yīng)譜的概念
??????反應(yīng)譜是在1932年由引入的,它是用來描述地面運(yùn)動及其對結(jié)構(gòu)的效應(yīng)的一種實(shí)用工具?,F(xiàn)在,反應(yīng)譜作為地震工程的核心概念,提供了一種方便的手段概括所有可能的線性單自由度體系對地面運(yùn)動的某個特定分量的峰值反應(yīng)。它還提供了一種實(shí)用的方法,將結(jié)構(gòu)動力學(xué)的知識應(yīng)用于結(jié)構(gòu)的設(shè)計以及建筑規(guī)范中側(cè)向力條文的制定。
??????某個反應(yīng)量的峰值作為體系的固有振動周期Tn,(或者循環(huán)頻率fn)那樣的相關(guān)參數(shù)的函數(shù)圖形,稱為該
2、反應(yīng)量的反應(yīng)譜。每一個這樣的圖形針對的是有一個具有固定阻尼比的單自由度體系,多個具有不同阻尼比的這類圖形聯(lián)合起來就能覆蓋實(shí)際結(jié)構(gòu)中遇到的阻尼值范圍。
2.反應(yīng)譜的計算
反應(yīng)譜數(shù)值計算方法
??????計算反應(yīng)譜的方法有很多,又卷積計算法,傅立葉變換法,線性加速度法,中點(diǎn)加速度法,精確法等。
精確法
??????本文中采用精確法做計算,該方法是和于1969年提出的,此法的出發(fā)點(diǎn)是把地面運(yùn)動的加速度記錄相鄰點(diǎn)間的值用分段線性差值表示,從而獲得地面運(yùn)動的連續(xù)表達(dá)式。基于方程本身基礎(chǔ)上進(jìn)行,得到的結(jié)果全部采用精確的分析方法,沒有任何的舍入誤差,也不會產(chǎn)生任
3、何的截斷誤差,所謂精確法就是指在這個意義上式精確的而然。正因?yàn)檫@種方法不會引起數(shù)值計算的誤差,所以它有較高的精度,只要進(jìn)行較少的運(yùn)算就可以達(dá)到采用其他方法需要較多次運(yùn)算才能達(dá)到的精度?!坝捎谠趕ohu博客上的文章發(fā)表后,陸續(xù)有問參考文獻(xiàn)的郵件,因此將參考文獻(xiàn)pdf版放上來供大家學(xué)習(xí)、參考,請勿用于商業(yè)目的。下載鏈接見地震動的譜分析入門強(qiáng)震觀測與分析原理(精確法求解)%%%%%%%%%%%%%%%%%%%%%反應(yīng)譜精確法程序BeginWith%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear
%**********
4、*讀入地震記錄***********
fid=fopen('');
[Accelerate,count]=fscanf(fid,'%g');%count讀入的記錄的量
Accelerate=*Accelerate';????????????%單位統(tǒng)一為m和s
time=0::(count-1)*;??????????%單位s
%***********精確法計算各反應(yīng)***********
%初始化各儲存向量
Displace=zeros(1,count);???%相對位移
Velocity=zeros(1,count);???%相對速度
AbsAcc
5、e=zeros(1,count);????%絕對加速度
%***********A,B矩陣***********
DampA=[0,,];????%三個阻尼比
TA=::6;?????%TA=::6;????%結(jié)構(gòu)周期
Dt=;??????????????%地震記錄的步長
%記錄計算得到的反應(yīng),MDis為某阻尼時最大相對位移,MVel為某阻尼
%時最大相對速度,MAcc某阻尼時最大絕對加速度,用于畫圖
MDis=zeros(3,length(TA));
MVel=zeros(3,length(TA));
MAcc=zeros(3,length(TA)
6、);j=1;???%在下一個循環(huán)中控制不同的阻尼比
forDamp=[0,,]
??
???t=1;???%在下一個循環(huán)中控制不同的結(jié)構(gòu)自振周期
???forT=::6
???????Frcy=2*pi/T;%結(jié)構(gòu)自振頻率
???????
???????DamFrcy=Frcy*sqrt(1-Damp*Damp);??%計算公式化簡
???????e_t=exp(-Damp*Frcy*Dt);
???????s=sin(DamFrcy*Dt);
???????c=cos(DamFrcy*Dt);
???????
???????A=zeros(2,2)
7、;
??????????A(1,1)=e_t*(s*Damp/sqrt(1-Damp*Damp)+c);
??????????A(1,2)=e_t*s/DamFrcy;
??????????A(2,1)=-Frcy*e_t*s/sqrt(1-Damp*Damp);
??????????A(2,2)=e_t*(-s*Damp/sqrt(1-Damp*Damp)+c);
??????????
??????d_f=(2*Damp^2-1)/(Frcy^2*Dt);%計算公式化簡
??????d_3t=Damp/(Frcy^3*Dt);
??????????
8、??????
??????B=zeros(2,2);
???????????B(1,1)=e_t*((d_f