Sie sind auf Seite 1von 3

% Programa para determinar el espectro de aceleraciones y

% pseudoaceleraciones con archivo de entrada,


% Se resuelve la ecuacion diferencial de movimiento de 1GDL de manera explicita. se
utiliza la funcion de respuesta a impulso unitario y se
%-----------------------------------------------------------------------
%Desarrollado por: Mario Osorio
% Juan Camilo Henao
% Luis Hinestroza
%-------------------------------------------------------------------------
close all;
clear all;
clc

hoja=xlsread('Datos Sismo');%Carga el acelerograma en un vector y reorganiza los


datos del sismo
S=zeros(size(1560));
j=1;
i=1;
m=510000/9.806;
while i<=1560;
k=1;
while k<=8;
S(i)=hoja(j,k);
i=i+1;
k=k+1;
end
j=j+1;
end
t=(0.02:0.02:31.20);

figure;% grafica el acelerograma %


plot(t,S);
xlabel('Tiempo [s]');
ylabel('Aceleracion(g)');
title('Acelerograma');

Pt=zeros(size(1560));
for i=1:1560;
Pt(1+i)=-S(i)*m*9.806;
end

%--------------------------------------------------------------------------
%CALCULO DE LA RESPUESTA, ESPECTRO DE VELOCIDAD Y ACELERACION
%--------------------------------------------------------------------------
Tmax=10;
t=(0:0.02:31.18);
e=0.07;
dta=0.02;
Sd=zeros(size(Tmax/dta));
Sv=zeros(size(Tmax/dta));
Sa=zeros(size(Tmax/dta));
wv=zeros(size(Tmax/dta));
T=0.02;
j=1;

while T<=Tmax;

w=2*pi/T;%calcula la frecuencia natural para el periodo dado


wd=w*(1-(e^2))^(1/2);%calcula la frecuencia sub-amortiguada

%Funcion de respuesta del sma de 1GDL (obtenida mediante un impulso unitario)

A=zeros(size(1560));
B=zeros(size(1560));
Vd=zeros(size(1560));
Vv=zeros(size(1560));
Va=zeros(size(1560));

for i=3:1560;
A(i)=(A(i-2)*exp(-2*e*w*dta))+((dta/(3*m*wd))*(((Pt(i-2)*cos(wd*t(i-
2)))*exp(-2*e*w*dta))+(4*(Pt(i-1)*cos(wd*t(i-1)))*exp(-e*w*dta))+
(Pt(i)*cos(wd*t(i)))));
B(i)=(B(i-2)*exp(-2*e*w*dta))+((dta/(3*m*wd))*(((Pt(i-2)*sin(wd*t(i-
2)))*exp(-2*e*w*dta))+(4*(Pt(i-1)*sin(wd*t(i-1)))*exp(-e*w*dta))+
(Pt(i)*sin(wd*t(i)))));
Vd(i)=A(i)*sin(w*t(i))-B(i)*cos(w*t(i));
end

for h=1:1558;
Vv(h)=(Vd(h+2)-Vd(h))/dta;
end

for h=1:1556;
Va(h)=(Vv(h+2)-Vv(h))/dta;
end

Sd(j)=max(abs(max(Vd)),abs(min(Vd)));
Sv(j)=max(abs(max(Vv)),abs(min(Vv)));
Sa(j)=max(abs(max(Va)),abs(min(Va)));

j=j+1;
T=T+0.02;
end

% tl=(0.0:0.02:31.16);
% figure;
% plot(tl,Vd);
% xlabel(' [s]');
% ylabel('Aceleracion(g)');
% title('Respuesta est despl');
%
% tl=(0.0:0.02:31.14);
% figure;
% plot(tl,Vv);
% xlabel(' [s]');
% ylabel('Aceleracion(g)');
% title('Respuesta est velo');

%C�lculo la aceleracion y velocidad time-histories

tp=(0.02:0.02:Tmax);
figure;
plot(tp,Sa);
xlabel(' [s]');
ylabel('Aceleracion(g)');
title('Espectro Aceleracion');

tp=(0.02:0.02:Tmax);
figure;
plot(tp,Sv);
xlabel('Periodo [s]');
ylabel('Velocidad(m/s)');
title('Espectro Velocidad');

tp=(0.02:0.02:Tmax);
figure;
plot(tp,Sd);
xlabel('Periodo [s]');
ylabel('Desplazamiento(m)');
title('Espectro Desplazamiento');

clc

Das könnte Ihnen auch gefallen