Está en la página 1de 2

clear all;

%ARMADURAS PLANAS
format long
nd=input('INGRESE EL NUMERO DE NODOS=');
ne=input('INGRESE EL NUMERO DE ELEMENTOS=');
D=input('INGRESE EL DIMETRO DE LAS SECCIONES(mm)=');
E=input('INGRESE EL MODULO DE ELASTICIDAD(N/mm^2)=');
tc=input('INGRESE TABLA DE CONECTIVIDAD(solo nodos)=');
%EJEMPLO [1 2;2 3;3 4;4 2;4 1;4 5;5 1]
ni=[];
for i=1:nd
disp('INGRESE LAS CORDENADAS DEL NODO ');disp(i);
n(i,1)=input('N(X)= ');
n(i,2)=input('N(Y)= ');
end
F=input('INGRESE EL VECTOR COLUMNA DE FUERZAS=');
CC1=input('INGRESE CONDICIONES DE CONTORNO [posicin valor]=');
lm=[];
A=pi/4*D^2;
krs=zeros(2*nd);
Kij=zeros(2*nd);acuh=[];acuv=[];FC=[];
le=[];Q=[];R=[];l=[];m=[];CC=[];
[fc,cc]=size(CC1);
for i=1:2*nd
cont=0;
for j=1:fc
if i==CC1(j,1)
cont=1;
c1=CC1(j,1);
c2=CC1(j,2);
end
end
if cont==1
CC(i,1)=c1;
CC(i,2)=c2;
else
CC(i,1)=0;
CC(i,2)=0;
end
end
for i=1:ne
le(i)=sqrt((n(tc(i,2),1)-n(tc(i,1),1))^2+(n(tc(i,2),2)n(tc(i,1),2))^2);
l(i)=(n(tc(i,2),1)-n(tc(i,1),1))/le(i);
m(i)=(n(tc(i,2),2)-n(tc(i,1),2))/le(i);
ps1=tc(i,1)*2-1;ps2=tc(i,1)*2;ps3=tc(i,2)*2-1;ps4=tc(i,2)*2;
krs(ps1,ps1)=l(i)^2;krs(ps1,ps2)=l(i)*m(i);krs(ps1,ps3)=l(i)^2;krs(ps1,ps4)=-l(i)*m(i);
krs(ps2,ps1)=l(i)*m(i);krs(ps2,ps2)=m(i)^2;krs(ps2,ps3)=l(i)*m(i);krs(ps2,ps4)=-m(i)^2;
krs(ps3,ps1)=-l(i)^2;krs(ps3,ps2)=l(i)*m(i);krs(ps3,ps3)=l(i)^2;krs(ps3,ps4)=l(i)*m(i);
krs(ps4,ps1)=-l(i)*m(i);krs(ps4,ps2)=m(i)^2;krs(ps4,ps3)=l(i)*m(i);krs(ps4,ps4)=m(i)^2;
Kij=Kij+E*A/le(i)*krs;
krs=zeros(2*nd);
end

for i=1:2*nd
if i==CC(i,1)
Q(i,1)=CC(i,2);
else
FC=[FC;F(i)];
for j=1:2*nd
if j~=CC(j,1)
acuh=[acuh,Kij(i,j)];
end
end
end
acuv=[acuv;acuh];
acuh=[];
end
Q1=acuv\FC;
for i=1:2*nd
if i~=CC(i,1)
Q(i,1)=Q1(1,1);
[f,c]=size(Q1);
if f>=2
Q1=Q1(2:f,1);
end
end
end
for i=1:2*nd
if i==CC(i,1)
r=Kij(i,1:2*nd)*Q-F(i,1);
R=[R;r i];
end
end
ESF=[];
for i=1:ne
ps1=tc(i,1)*2-1;ps2=tc(i,1)*2;ps3=tc(i,2)*2-1;ps4=tc(i,2)*2;
ESF(i)=E/le(i)*[-l(i) -m(i) l(i)
m(i)]*[Q(ps1,1);Q(ps2,1);Q(ps3,1);Q(ps4,1)];
end
format short
disp('=============');
disp('RESULTADOS');
disp('=============');
disp('LOS DESPLAZAMIENTOS');
disp(Q);
disp('LAS REACIONES');
disp('REACCIN
POSICIN');
disp(R);
disp('LOS ESFUERZOS');
disp(ESF');

También podría gustarte