Sei sulla pagina 1di 4

ESPECTROS DE RESPUESTA

%EspectroDesVelAcel
%Grafica
%Se ingresan los valores de la matriz de aceleraciones descargada
entre corchetes para que
%se transforme en un vector y poder usarla.
a= input('ingresa los valores descargados entre corchetes: ');
%transponemos la matriz
a= a';
%lo convertimos en un vector en columnas
a= a(:);
%volvemos a transponerlo para convertirlo en un vector de orden 1*n
a=a';
%Se ingresa el intervalo de tiempo en el que fueron tomadas las
%aceleraciones para poder formar el vector de tiempo
dt= input('ingrese el intervalo de tiempo de las aceleraciones del
suelo: ');
%formamos el vector tiempo a partir del numero de elementos del vector
%aceleracion y el intervalo de tiempo de aceleraciones
t=[dt:dt:dt*length(a)];
%Iteramos la razn de amortiguamiento segun los valores de "k"
for k=[0 0.02 0.03 0.05 0.07 0.10 0.20 0.25]
%para evitar cambiar los valores le damos la siguiente igualdad
xsi= k;
%Creamos un vector cualesquiera para reemplazarlo poco a poco por
elementos
%que sean los maximos valores para amortiguamientos "k" y periodos
%definidos "j"
MaximosD=[0:0.05:3];
MaximosV=[0:0.05:3];
MaximosA=[0:0.05:3];
%Iteramos lo valores para el periodo "j"
for j= [0.05:0.05:3];
%utilizamos la funcion dada "exacta"
%cambiamos "T" por "j"
w=2*pi/j;
wd=w*sqrt(1-xsi^2);
u=0;
v=0;
x=zeros(length(t),1);
E=exp(-xsi*w*dt);
S=sin(wd*dt);
C=cos(wd*dt);
% Parametros del metodo de integracion
a11=E*(xsi*w*S/wd+C);
a12=E*S/wd;
a21=-w^2*E*S/wd;
a22=E*(C-xsi*w*S/wd);
b11=E*(((2*xsi^2-1)/(w^2*dt)+xsi/w)*S/wd+(1/w^2+2*xsi/(w^3*dt))*C)2*xsi/(w^3*dt);
b12=-E*(((2*xsi^2-1)/(w^2*wd*dt))*S+2*xsi*C/(w^3*dt))+2*xsi/(w^3*dt)1/w^2;
b21=E/(w^2*dt)*(-C-(xsi/sqrt(1-xsi^2)+w*dt/sqrt(1-xsi^2))*S)+1/
(w^2*dt);
b22=E/(w^2*dt)*(C+xsi/sqrt(1-xsi^2)*S)-1/(w^2*dt);
A=[a11 a12; a21 a22];
B=[b11 b12; b21 b22];
V=zeros(2,length(t));
for i=1:length(t)-1

V(:,i+1)=A*V(:,i)+B*[a(i); a(i+1)];
end
%valores de desplazamiento
x=V(1,:);
%valores de pseudo velocidades
pv=(w)*x;
%valores de pseudo aceleraciones
pa=(w)*pv;
%Hallamos el maximo desplazamiento y el maximo negativo
xmax=max(x);
xmin=min(x);
%hallamos la maxima pseudo velocidad y la minima
vmax=max(pv);
vmin=min(pv);
%halamos la maxima pseudo aceleracion y la minima
amax=max(pa);
amin=min(pa);
%Comparamos Los valores positivos de desplazamientos y escogemos el
mayor
if (xmax>(-xmin))
else
xmax=-xmin;
end;
%Comparamos Los valores positivos de pseudo velocidades y escogemos el
mayor
if (vmax>(-vmin))
else
vmax=-vmin;
end;
%Comparamos Los valores positivos de pseudo aceleraciones y escogemos
el mayor
if (amax>(-amin))
else
amax=-amin;
end;
%Segun el valor del periodo "j" reemplazamos en el vector "MaximosD"
MaximosD(round(j/0.05)+1)=xmax;
MaximosV(round(j/0.05)+1)=vmax;
MaximosA(round(j/0.05)+1)=amax;
end
%Ponemos un nombre al vector "Maximo" segun el amortiguamiento "k"
utilizado
if k==0
MaximosD0= MaximosD;
MaximosV0= MaximosV;
MaximosA0= MaximosA;
else
if k==0.02
MaximosD02= MaximosD;
MaximosV02= MaximosV;
MaximosA02= MaximosA;
else
if k==0.03
MaximosD03= MaximosD;
MaximosV03= MaximosV;
MaximosA03= MaximosA;
else
if k==0.05
MaximosD05= MaximosD;
MaximosV05= MaximosV;
MaximosA05= MaximosA;

else
if k==0.07
MaximosD07= MaximosD;
MaximosV07= MaximosV;
MaximosA07= MaximosA;
else
if k==0.10
MaximosD10= MaximosD;
MaximosV10= MaximosV;
MaximosA10= MaximosA;
else
if k==0.20
MaximosD20= MaximosD;
MaximosV20= MaximosV;
MaximosA20= MaximosA;
else
if k==0.25
MaximosD25= MaximosD;
MaximosV25= MaximosV;
MaximosA25= MaximosA;
else
end
end
end

end

end
end
end

end
end
%Creamos un vector de periodos segun los valores de "j" para poder
graficar
T=[0:0.05:3];
%Graficamos todos los valore Maximos de desplazamiento con respecto al
%periodo y al amortiguamiento asi como los de pseudo velocidades y
pseudo
%aceleraciones
plot(T,MaximosD0,T,MaximosD02,T,MaximosD03,T,MaximosD05,T,MaximosD07,T
,MaximosD10,T,MaximosD20,T,MaximosD25);
title('ESPECTRO DE DESPLAZAMIENTOS');
xlabel('Periodos "T" del elemento de 1GDL(s)');
ylabel('desplazamientos Maximos(cm)');
legend(' 0%','2%','3%','5%','7%','10%','20%','25%');
grid;
figure;
plot(T,MaximosV0,T,MaximosV02,T,MaximosV03,T,MaximosV05,T,MaximosV07,T
,MaximosV10,T,MaximosV20,T,MaximosV25);
title('ESPECTRO DE PSEUDO VELOCIDADES');
xlabel('Periodos "T" del elemento de 1GDL(s)');
ylabel('Pseudo velocidades maximas(cm/s)');
legend(' 0%','2%','3%','5%','7%','10%','20%','25%');
grid;
figure;
plot(T,MaximosA0,T,MaximosA02,T,MaximosA03,T,MaximosA05,T,MaximosA07,T
,MaximosA10,T,MaximosA20,T,MaximosA25);
title('ESPECTRO DE PSEUDO ACELERACIONES');
xlabel('Periodos "T" del elemento de 1GDL(s)');
ylabel('Pseudo aceleraciones maximas(cm/s^2)');
legend(' 0%','2%','3%','5%','7%','10%','20%','25%');

grid;
clear;

Potrebbero piacerti anche