




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上disp(' ')disp(' ver July 3, 2006')disp(' by Tom Irvine Email')disp(' ')disp(' This program calculates the shock response spectrum')disp(' of an acceleration time history, which is pre-loaded into Matlab.')disp(' The time history must h
2、ave two columns: time(sec) & acceleration')disp(' ')%clear t;clear y;clear yy;clear n;clear fn;clear a1;clear a2clear b1;clear b2;clear jnum;clear THM;clear resp;clear x_pos;clear x_neg;%iunit=input(' Enter acceleration unit: 1= G 2= m/sec2 ');%disp(' ')disp(' Sel
3、ect file input method ');disp(' 1=external ASCII file ');disp(' 2=file preloaded into Matlab ');file_choice = input('');%if(file_choice=1) filename, pathname = uigetfile('*.*'); filename = fullfile(pathname, filename);% fid = fopen(filename,'r'); THM = fsc
4、anf(fid,'%g %g',2 inf); THM=THM'else THM = input(' Enter the matrix name: ');end%t=double(THM(:,1);y=double(THM(:,2);%tmx=max(t);tmi=min(t);n = length(y);%out1 = sprintf('n %d samples n',n);disp(out1)%dt=(tmx-tmi)/(n-1);sr=1./dt;%out1 = sprintf(' SR = %g samples/sec d
5、t = %g sec n',sr,dt);disp(out1)%fn(1)=input(' Enter the starting frequency (Hz) ');if fn(1)>sr/30. fn(1)=sr/30.;end%idamp=input(' Enter damping format: 1= damping ratio 2= Q ');%disp(' ')if(idamp=1) damp=input(' Enter damping ratio (typically ');else Q=input(
6、39; Enter the amplification factor (typically Q=10) '); damp=1./(2.*Q);end%disp(' ')disp(' Select algorithm: ')disp(' 1=Kelly-Richman 2=Smallwood ');ialgorithm=input(' ');%tmax=(tmx-tmi) + 1./fn(1);limit = round( tmax/dt );n=limit;yy=zeros(1,limit);for i=1:length(
7、y) yy(i)=y(i);end %disp(' ')disp(' Calculating response. ')% SRS engine%for j=1:1000% omega=2.*pi*fn(j); omegad=omega*sqrt(damp2); cosd=cos(omegad*dt); sind=sin(omegad*dt); domegadt=damp*omega*dt;% if(ialgorithm=1) a1(j)=2.*exp(-domegadt)*cosd; a2(j)=-exp(-2.*domegadt); b1(j)=2.*dome
8、gadt; b2(j)=omega*dt*exp(-domegadt); b2(j)=b2(j)*( (omega/omegad)*.*(damp2)*sind -2.*damp*cosd ); b3(j)=0;% else E=exp(-damp*omega*dt);K=omegad*dt;C=E*cos(K);S=E*sin(K);Sp=S/K;% a1(j)=2*C;a2(j)=-E2;b1(j)=;b2(j)=2.*(Sp-C);b3(j)=E2-Sp; end forward= b1(j), b2(j), b3(j) ; back = 1, -a1(j), -a2(j) ; % re
9、sp=filter(forward,back,yy);% x_pos(j)= max(resp); x_neg(j)= min(resp);% jnum=j; if fn(j) > sr/8. break end fn(j+1)=fn(1)*(2. (j*(1./12.); end% Output options%disp(' ')disp(' Select output option ');choice=input(' 1=plot only 2=plot & output text file ' );disp('
10、9;)%if choice = 2 % writefname, writepname = uiputfile('*','Save SRS data as'); writepfname = fullfile(writepname, writefname); writedata = fn' x_pos' (abs(x_neg)' ; fid = fopen(writepfname,'w'); fprintf(fid,' %g %g %gn',writedata'); fclose(fid);% disp
11、(' Enter output filename ');% SRS_filename = input(' ','s');% fid = fopen(SRS_filename,'w');% for j=1:jnum% fprintf(fid,'% % % n',fn(j),x_pos(j),abs(x_neg(j);% end% fclose(fid);end% Plot SRS%disp(' ')disp(' Plotting output. ')% Find limits for
12、plot%srs_max = max(x_pos);if max( abs(x_neg) ) > srs_max srs_max = max( abs(x_neg );endsrs_min = min(x_pos);if min( abs(x_neg) ) < srs_min srs_min = min( abs(x_neg );end %figure(1);plot(fn,x_pos,fn,abs(x_neg),'-.');%if iunit=1 ylabel('Peak Accel (G)');else ylabel('Peak Acce
13、l (m/sec2)');endxlabel('Natural Frequency (Hz)');Q=1./(2.*damp);out5 = sprintf(' Acceleration Shock Response Spectrum Q=%g ',Q);title(out5);grid;set(gca,'MinorGridLineStyle','none','GridLineStyle',':','XScale','log','YScale'
14、,'log');legend ('positive','negative',2);%ymax= 10(round(log10(srs_max)+);ymin= 10(round(log10(srs_min);%fmax=max(fn);fmin=fmax/10.;%fmax= 10(round(log10(fmax)+);%if fn(1) >= fmin=;endif fn(1) >= 1 fmin=1;endif fn(1) >= 10 fmin=10;endif fn(1) >= 100 fmin=100;endax
15、is(fmin,fmax,ymin,ymax);%disp(' ')disp(' Plot pseudo velocity? ');vchoice=input(' 1=yes 2=no ' );if(vchoice=1)figure(2);% Convert to pseudo velocity%for j=1:jnum if iunit=1 x_pos(j)=386.*x_pos(j)/(2.*pi*fn(j); x_neg(j)=386.*x_neg(j)/(2.*pi*fn(j); else x_pos(j)=x_pos(j)/(2.*pi
16、*fn(j); x_neg(j)=x_neg(j)/(2.*pi*fn(j); endend %srs_max = max(x_pos);if max( abs(x_neg) ) > srs_max srs_max = max( abs(x_neg );endsrs_min = min(x_pos);if min( abs(x_neg) ) < srs_min srs_min = min( abs(x_neg );end %plot(fn,x_pos,fn,abs(x_neg),'-.');%if iunit=1 ylabel('Velocity (in/sec)');else ylabel('Velocity (m/sec)'); endxlabel('Natural Frequency (Hz)');Q=1./(2.*damp);out5 = sprintf(' Pseudo Velocity Shock Response Spectrum Q=%g ',Q);title(out5);grid;set(gca,'MinorGridLineStyle'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年宣傳教育全年工作總結模版
- 傭金返還合同范例
- 企業文化在辦公空間人性化設計中的體現
- 2025年新《黨政領導干部選拔任用工作條例》學習討論發言稿模版
- 機器人焊接 14 項目七任務7.2教學設計
- 醫療大數據挑戰與機遇并存的價值挖掘
- 倉儲協議合同范例簡短范例
- 幼兒園教師年度考核個人工作總結模版
- 關于建筑師負責制的工作總結模版
- 醫療物資全鏈條管理的實踐與思考
- 旗桿維修合同范例
- 兒童糖尿病講課課件
- 安防主管崗位月工作計劃
- 學前兒童衛生與保健-期末大作業:案例分析-國開-參考資料
- 醫療器械經營質量管理制度和工作程序目錄
- 《火災事故案例培訓》課件
- 蒸汽管道試運行方案
- 2024高考物理一輪復習第66講分子動理論內能(練習)(學生版+解析)
- 帶您走進西藏學習通超星期末考試答案章節答案2024年
- 公司員工手冊(完整版)
- GB/T 44500-2024新能源汽車運行安全性能檢驗規程
評論
0/150
提交評論