You are on page 1of 5

9 pisos

h 2,3
L 8metros
25
V 20x60
C 20x20
Amortiguamiento 5%
Peso adicionales por piso, 2,5,7= 10 toneladas
Registro Copiapo C1
Cdigo Programa Parte 1 a)
%Parte 1 a)
dc(1)=20;dc(2)=20; % dimensiones de las columnas (cm)
dv(1)=20;dv(2)=60; % dimensiones de las vigas (cm)
np=9; %numero de pisos
h=230;l=800; % dimensiones del prtico (cm)
fc=200; % tipo de hormign (H20)
%matriz de rigidez lateral
Kl = matrizrigi(h,l,np,dc,dv,fc);
%matriz de masas
M = matrizmasas(np,h,l,dc,dv);
%Agregamos pesos adicionales en los pisos 2 y 3 de 14 ton o 14000kg
M(2,2)=M(2,2)+14000/981;
M(3,3)=M(3,3)+14000/981;
%frecuencia y modos de vibrar
[Wn,modo,T,io]= frecymodos(M,Kl,np);

Cdigo Funcin matrizrigi


%Funcin Matriz de rigidez
function Kl = matrizrigi(h,l,np,dc,dv,fc)
np=5;
gl=np*3; %grados de libertad
ne=np*3; %nmero de elementos
E=15.1*sqrt(fc)*1000;
ic=(dc(1)*dc(2)^3)/12;
iv=(dv(1)*dv(2)^3)/12;
K=zeros(gl,gl);
Kl=zeros(np,np);
vc=zeros(gl,4);
%Vector VC para columnas
j=0;
i=1;
while i<=ne-np
if i == 1
vc(i,1)=0;
vc(i,2)=0;
vc(i,3)=i-j;
vc(i,4)=i+np;
vc(i+1,1)=0;
vc(i+1,2)=0;
vc(i+1,3)=i-j;
vc(i+1,4)=i+np+1;
j=j+1;
else
vc(i,1)=vc(i-2,3);
vc(i,2)=vc(i-2,4);
vc(i,3)=i-j;
vc(i,4)=i+np;
vc(i+1,1)=vc(i-1,3);
vc(i+1,2)=vc(i-1,4);
vc(i+1,3)=i-j;
vc(i+1,4)=i+np+1;
j=j+1;
end
i=i+2;
end
%Vector VC para vigas
j=1;
for i=ne-np+1:ne
vc(i,1)=0;
vc(i,2)=np+j;
vc(i,3)=0;
vc(i,4)=vc(i,2)+1;
j=j+2;
end
%matriz de rigidez local
for i=1:ne

if i >= ne-np+1
%Para las vigas
ki(1,1)=4*E*iv/l;
ki(1,2)=2*E*iv/l;
ki(2,1)=2*E*iv/l;
ki(2,2)=4*E*iv/l;
K(vc(i,2),vc(i,2))=K(vc(i,2),vc(i,2))+ki(1,1);
K(vc(i,2),vc(i,4))=K(vc(i,2),vc(i,4))+ki(1,2);
K(vc(i,4),vc(i,2))=K(vc(i,4),vc(i,2))+ki(2,1);
K(vc(i,4),vc(i,4))=K(vc(i,4),vc(i,4))+ki(2,2);
else
%Para las columnas
ki(1,1)=12*E*ic/(h^3);
ki(1,2)=-6*E*ic/(h^2);
ki(1,3)=-12*E*ic/(h^3);
ki(1,4)=-6*E*ic/(h^2);
ki(2,1)=-6*E*ic/(h^2);
ki(2,2)=4*E*ic/h;
ki(2,3)=6*E*ic/(h^2);
ki(2,4)=2*E*ic/h;
ki(3,1)=-12*E*ic/(h^3);
ki(3,2)=6*E*ic/(h^2);
ki(3,3)=12*E*ic/(h^3);
ki(3,4)=6*E*ic/(h^2);
ki(4,1)=-6*E*ic/(h^2);
ki(4,2)=2*E*ic/h;
ki(4,3)=6*E*ic/(h^2);
ki(4,4)=4*E*ic/h;

if vc(i,1)== 0
K(vc(i,3),vc(i,3))=K(vc(i,3),vc(i,3))+ki(3,3);
K(vc(i,3),vc(i,4))=K(vc(i,3),vc(i,4))+ki(3,4);
K(vc(i,4),vc(i,3))=K(vc(i,4),vc(i,3))+ki(4,3);
K(vc(i,4),vc(i,4))=K(vc(i,4),vc(i,4))+ki(4,4);

%elseif vc(i,2)== 0
%K(vc(i,3),vc(i,3))=K(vc(i,3),vc(i,3))+ki(3,3);
%K(vc(i,3),vc(i,4))=K(vc(i,3),vc(i,4))+ki(3,4);
%K(vc(i,4),vc(i,3))=K(vc(i,4),vc(i,3))+ki(4,3);
%K(vc(i,4),vc(i,4))=K(vc(i,4),vc(i,4))+ki(4,4);

else
K(vc(i,1),vc(i,1))=K(vc(i,1),vc(i,1))+ki(1,1);
K(vc(i,1),vc(i,2))=K(vc(i,1),vc(i,2))+ki(1,2);
K(vc(i,1),vc(i,3))=K(vc(i,1),vc(i,3))+ki(1,3);
K(vc(i,1),vc(i,4))=K(vc(i,1),vc(i,4))+ki(1,4);
K(vc(i,2),vc(i,1))=K(vc(i,2),vc(i,1))+ki(2,1);
K(vc(i,2),vc(i,2))=K(vc(i,2),vc(i,2))+ki(2,2);
K(vc(i,2),vc(i,3))=K(vc(i,2),vc(i,3))+ki(2,3);
K(vc(i,2),vc(i,4))=K(vc(i,2),vc(i,4))+ki(2,4);
K(vc(i,3),vc(i,1))=K(vc(i,3),vc(i,1))+ki(3,1);
K(vc(i,3),vc(i,2))=K(vc(i,3),vc(i,2))+ki(3,2);
K(vc(i,3),vc(i,3))=K(vc(i,3),vc(i,3))+ki(3,3);
K(vc(i,3),vc(i,4))=K(vc(i,3),vc(i,4))+ki(3,4);
K(vc(i,4),vc(i,1))=K(vc(i,4),vc(i,1))+ki(4,1);
K(vc(i,4),vc(i,2))=K(vc(i,4),vc(i,2))+ki(4,2);
K(vc(i,4),vc(i,3))=K(vc(i,4),vc(i,3))+ki(4,3);
K(vc(i,4),vc(i,4))=K(vc(i,4),vc(i,4))+ki(4,4);
end
end
end
%CONDENSANDO LA MATRIZ
%K11
for i=1:np
for j=1:np
K11(i,j)=K(i,j);
end
end
%K12
for i=1:np
a=1;
for j=np+1:gl
K12(i,a)=K(i,j);
a=a+1;
end
end
%K21
for j=1:np
a=1;
for i=np+1:gl
K21(a,j)=K(i,j);
a=a+1;
end
end
%K22
b=1;
for i=np+1:gl
a=1;
for j=np+1:gl
K22(b,a)=K(i,j);
a=a+1;
end
b=b+1;
end
Kl=K11-K12*((K22)^-1)*K21;

Cdigo Funcin matrizmasas


%Funcin Matriz de Masas
function M = matrizmasas(np,h,l,dc,dv)
M=zeros(np,np);
for i=1:np
for j=1:np
if i == j
if i == 1
M(i,j)=((h*dc(1)*dc(2))*3+(l*dv(1)*dv(2)))*(2400/(100^3));
elseif i == np
M(i,j)=((h*dc(1)*dc(2))+(l*dv(1)*dv(2)))*(2400/(100^3));
else
M(i,j)=((h*dc(1)*dc(2))*2+(l*dv(1)*dv(2)))*(2400/(100^3));
end
end
end
end
%Transformamos el peso en masa
for i=1:np
for j=1:np
M(i,j)=M(i,j)/981;
end
end

Cdigo Funcin frecymodos


%Funcin frecuencia y modos de vibrar
function [Wn,modo,T,io]= frecymodos(M,Kl,np)
[fi,W]=eig(Kl,M);
[Wn,io]=sort(W*ones(np,1));
for i=1:np
modo(:,i)=fi(:,io(i));
Wn(i)=sqrt(Wn(i));
end
%calculamos T
for i=1:np
T(i)=(2*pi())/Wn(i);
end

You might also like