CODOGO EN MATLAB PARA LA SOLUCIÓN DE UN PORTICO PLADO DE 3 ELEMENTOS function y=SOLPORTICO function y=SOLPORTICO % DATOS DE LOS MATERIALES DE LOS ELEMENTO EA=input('INGRESAR EA=input( 'INGRESAR EA:'); EA:' ); EI=input('INGRESAR EI=input( 'INGRESAR EI:'); EI:' ); % NUMERO DE GRADOS DE LIBERTAD N=input('INGRESAR N=input( 'INGRESAR NUMERO DE GRADOS DE LIVERTAD:' ); % COORDENADAS DE CADA ELEMENTO % ELEMENTO N°1 X1=input('INGRESAR X1=input( 'INGRESAR LA COORDENADA DEL ELEM N°1 X1=:' ); Y1=input('INGRESAR Y1=input( 'INGRESAR LA COORDENADA DEL ELEM N°1 Y1=:' ); % ELEMENTO N°2 X2=input('INGRESAR X2=input( 'INGRESAR LA COORDENADA DEL ELEM N°2 X2=:' ); Y2=input('INGRESAR Y2=input( 'INGRESAR LA COORDENADA DEL ELEM N°2 Y2=:' ); % ELEMENTO N°3 X3=input('INGRESAR X3=input( 'INGRESAR LA COORDENADA DEL ELEM N°3 X3=:' ); Y3=input('INGRESAR Y3=input( 'INGRESAR LA COORDENADA DEL ELEM N°3 Y3=:' ); % CALCULO DE LA MATRIZ DE RIGIDEZ DE CADA ELEMENTO [KE] % ELEMENTO N°1 L1=sqrt((X1)^2+(Y1)^2); KE1=[EA/L1 0 0 -EA/L1 0 0; 0 12*EI/L1^3 6*EI/L1^2 0 -12*EI/L1^3 6*EI/L1^2; 0 6*EI/L1^2 4*EI/L1 0 -6*EI/L1^2 2*EI/L1; -EA/L1 0 0 EA/L1 0 0; 0 -12*EI/L1^3 -6*EI/L1^2 0 12*EI/L1^3 -6*EI/L1^2; 0 6*EI/L1^2 2*EI/L1 0 -6*EI/L1^2 4*EI/L1]; % ELEMENTO N°2 L2=sqrt((X2)^2+(Y2)^2); KE2=[EA/L2 0 0 -EA/L2 0 0; 0 12*EI/L2^3 6*EI/L2^2 0 -12*EI/L2^3 6*EI/L2^2; 0 6*EI/L2^2 4*EI/L2 0 -6*EI/L2^2 2*EI/L2; -EA/L2 0 0 EA/L2 0 0; 0 -12*EI/L2^3 -6*EI/L2^2 0 12*EI/L2^3 -6*EI/L2^2; 0 6*EI/L2^2 2*EI/L2 0 -6*EI/L2^2 4*EI/L2]; % ELEMENTO N°3 L3=sqrt((X3)^2+(Y3)^2); KE3=[EA/L3 0 0 -EA/L3 0 0; 0 12*EI/L3^3 6*EI/L3^2 0 -12*EI/L3^3 6*EI/L3^2; 0 6*EI/L3^2 4*EI/L3 0 -6*EI/L3^2 2*EI/L3; -EA/L3 0 0 EA/L3 0 0; 0 -12*EI/L3^3 -6*EI/L3^2 0 12*EI/L3^3 -6*EI/L3^2; 0 6*EI/L3^2 2*EI/L3 0 -6*EI/L3^2 4*EI/L3]; % CALCULO DE LA MATRIZ DE TRANSFORMACIÓN [R] % ELEMENTO N°1 S1=Y1/L1; C1=X1/L1; R1=[C1 S1 0 0 0 0; -S1 C1 0 0 0 0; 0 0 1 0 0 0; 0 0 0 C1 S1 0; 0 0 0 -S1 C1 0; 0 0 0 0 0 1]; % ELEMENTO N°2 S2=Y2/L2; C2=X2/L2; R2=[C2 S2 0 0 0 0; -S2 C2 0 0 0 0; 0 0 1 0 0 0; 0 0 0 C2 S2 0;
0 0 0 -S2 C2 0; 0 0 0 0 0 1]; % ELEMENTO N°3 S3=Y3/L3; C3=X3/L3; R3=[C3 S3 0 0 0 0; -S3 C3 0 0 0 0; 0 0 1 0 0 0; 0 0 0 C3 S3 0; 0 0 0 -S3 C3 0; 0 0 0 0 0 1]; % CALCULO DE LA MATRIZ DE TRANSFORMACIÓN % ELEMENTO N°1 fprintf('\n CALCULO DE LA MATRIZ DE TRANSFORMACIÓN [A]:' ) fprintf('\n ELEMENTO N°1:') j1=input('INGRESAR j1 j2=input('INGRESAR j2 j3=input('INGRESAR j3 j4=input('INGRESAR j4 j5=input('INGRESAR j5 j6=input('INGRESAR j6 A1=zeros(6,N); A1(1,j1)=1; A1(2,j2)=1; A1(3,j3)=1; A1(4,j4)=1; A1(5,j5)=1; A1(6,j6)=1; % ELEMENTO N°2 fprintf('\n ELEMENTO
DEL DEL DEL DEL DEL DEL
j1=input('INGRESAR j1 j2=input('INGRESAR j2 j3=input('INGRESAR j3 j4=input('INGRESAR j4 j5=input('INGRESAR j5 j6=input('INGRESAR j6 A2=zeros(6,N); A2(1,j1)=1; A2(2,j2)=1; A2(3,j3)=1; A2(4,j4)=1; A2(5,j5)=1; A2(6,j6)=1; % ELEMENTO N°3 fprintf('\n ELEMENTO
DEL DEL DEL DEL DEL DEL
j1=input('INGRESAR j2=input('INGRESAR j3=input('INGRESAR j4=input('INGRESAR j5=input('INGRESAR j6=input('INGRESAR A3=zeros(6,N); A3(1,j1)=1; A3(2,j2)=1; A3(3,j3)=1; A3(4,j4)=1; A3(5,j5)=1;
DEL DEL DEL DEL DEL DEL
j1 j2 j3 j4 j5 j6
ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO
N°1:' ); N°1:' ); N°1:' ); N°1:' ); N°1:' ); N°1:' );
N°2:') ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO
N°2:' ); N°2:' ); N°2:' ); N°2:' ); N°2:' ); N°2:' );
N°3:') ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO
N°3:' ); N°3:' ); N°3:' ); N°3:' ); N°3:' ); N°3:' );
A3(6,j6)=1; % LA MATRIZ DE RIGIDEZ TRANSFORMADA [K'] KT1=R1'*KE1*R1; KT2=R2'*KE2*R2; KT3=R3'*KE3*R3; % MATRIZ DE RIGIDEZ DE CADA ELEMENTO [K*] K1=A1'*KT1*A1; K2=A2'*KT2*A2; K3=A3'*KT3*A3; % ENSAMBLANDO LA MATRIZ DE RIGIDEZ [K] DE LA ESTRUCTURA fprintf('\n MATRIZ DE RIGIDEZ DE LA ESTRUCTURA [K]:' ) K=K1+K2+K3; K % LA MATRIZ DE CARGA fprintf('\n CALCULO DE LA MATRIZ DE CARGA:' ) % ELEMENTO N°1 % EFECTO DE LA CARGA EXTERNA fprintf('\n ELEMENTO N°1:' ) fprintf('\n EFECTO DE LA CARGA EXTERNA:' )
Wva1=input('INGRESE Wvb1=input('INGRESE Wha1=input('INGRESE Whb1=input('INGRESE
LA LA LA LA
CARGA CARGA CARGA CARGA
DISTRIB:Wva(Hacia abajo)(+)=:' ); DISTRIB:Wvb(Hacia abajo)(+):=' ); DISTRIBUIDA:Wha(->)=:' ); DISTRIBUIDA:Whb(->):=' );
Na1=-Wha1*L1/3-Whb1*L1/6; Va1=7*Wva1*L1/20+3*Wvb1*L1/20; Ma1=Wva1*L1^2/20+Wvb1*L1^2/30; Nb1=-Whb1*L1/3-Wha1*L1/6; Vb1=7*Wvb1*L1/20+3*Wva1*L1/20; Mb1=-Wvb1*L1^2/20-Wva1*L1^2/30; q1=[0;0;0;0;0;0]; q1(:,1)=[Na1,Va1,Ma1,Nb1,Vb1,Mb1]; % ELEMENTO N°2 fprintf('\n ELEMENTO N°2:' ) fprintf('\n EFECTO DE LA TEMPERATURA:' )
ALFA=input('INGRESE LA CONSTATE ALFA=:' ); T=input('INGRESE LA VARIACIÓN DE LA TEMPERATURA(Harriva)(+):T=:' ); h=input('INGRESE EL PERALTE h(m)=:' ); Na2=0; Va2=0; Ma2=-ALFA*T*EI/h;
Nb2=0; Vb2=0; Mb2=ALFA*T*EI/h; q2=[0;0;0;0;0;0]; q2(:,1)=[Na2,Va2,Ma2,Nb2,Vb2,Mb2]; % ELEMENTO N°3 fprintf('\n ELEMENTO N°3:' ) fprintf('\n EFECTO DE LA CARGA EXTERNA:' ) Wva3=input('INGRESE Wvb3=input('INGRESE Wha3=input('INGRESE Whb3=input('INGRESE
LA LA LA LA
CARGA CARGA CARGA CARGA
DISTRIB:Wva(Hacia abajo)(+)=:' ); DISTRIB:Wvb(Hacia abajo)(+):=' ); DISTRIBUIDA:Wha(->)=:' ); DISTRIBUIDA:Whb(->):=' );
Na3=-Wha3*L3^2/3-Whb3*L3^2/6; Va3=7*Wva3*L3/20+3*Wvb3*L3/20; Ma3=Wva3*L3^2/20+Wvb3*L3^2/30; Nb3=-Whb3*L3^2/3-Wha3*L3^2/6; Vb3=7*Wvb3*L3/20+3*Wva3*L3/20; Mb3=-Wvb3*L3^2/20-Wva3*L3^2/30; q3=[0;0;0;0;0;0]; q3(:,1)=[Na3,Va3,Ma3,Nb3,Vb3,Mb3]; % CALCULO DEL VECTOR {q*} qe1=R1'*q1; qe2=R2'*q2; qe3=R3'*q3; % CALCULO DEL VECTOR {q} qr1=A1'*qe1; qr2=A2'*qe2; qr3=A3'*qe3; % CALCULO DEL VECTOR {R} R=qr1+qr2+qr3; fprintf('\n EL VECTOR CARGA {q} EN COORDENADAS GENERALES:' ) qr1 qr2 qr3 fprintf('\n EL VECTOR DE FIJACIÓN {R}= q1+q2+q3:' ) R % CALCULO DEL VECTOR {F} fprintf('\n INGRESAR LAS CARGAS NODALES:' ) F=[0;0;0;0;0;0;0;0;0]; D1=input('FUERZA EN DIRACCIÓN DE D1=:' ); D2=input('FUERZA EN DIRACCIÓN DE D2=:' ); D3=input('FUERZA EN DIRACCIÓN DE D3=:' ); D4=input('FUERZA EN DIRACCIÓN DE D4=:' ); D5=input('FUERZA EN DIRACCIÓN DE D5=:' ); D6=input('FUERZA EN DIRACCIÓN DE D6=:' ); D7=input('FUERZA EN DIRACCIÓN DE D7=:' ); D8=input('FUERZA EN DIRACCIÓN DE D8=:' );
D9=input('FUERZA EN DIRACCIÓN DE D9=:' ); F(:,1)=[D1,D2,D3,D4,D5,D6,D7,D8,D9]; % CALCULO DEL VECTOR {Q} fprintf('\n EL VECTOR DE CARGA {Q}=-R+F:' ) Q=-R+F; Q % CALCULO DEL VECTOR DESPLAZAMIENTO {D} fprintf('\n CALCULO DEL VECTOR DESPLAZAMIENTO {D}:' ) Kuu=K(1:6,1:6); Krr=K(7:9,7:9); Kru=K(7:9,1:6); Qu=Q(1:6,1); %Desplazamientos en los grados de livertad Du=inv(Kuu)*Qu; fprintf('\n EL VECTOR DE DESPLAZAMIENTO {Du}=INV(Kuu)*Qu:' ) Du % Vector de reacciones complementarias Qc=Kru*Du; % Vector de reacciones primarias Qp=R(7:9,1); % Vector de reacciones en los apoyos Re=Qc+Qp; fprintf('\n VECTOR DE REACCIONES EN LOS APOYOS {Re}:' ) Re % DESPLAZAMIENTO EN CADA BARRA EN DIRECCIÓN DE LAS COORDENADAS {q*}-{d*} Du1=Du(1,1); Du2=Du(2,1); Du3=Du(3,1); Du4=Du(4,1); Du5=Du(5,1); Du6=Du(6,1); D=[Du1;Du2;Du3;Du4;Du5;Du6;0;0;0]; dg1=A1*D; dg2=A2*D; dg3=A3*D; % DESPLAZAMIENTO DE CADA BARRA EN COORD LOCALES {q}-{d} dl1=R1*dg1; dl2=R2*dg2; dl3=R3*dg3; % VECTOR DE CARGA {q} COMPLEMENTARIA ql1=KE1*dl1; ql2=KE2*dl2; ql3=KE3*dl3; % VECTOR DE CARGA TOTAL qt1=ql1+q1; qt2=ql2+q2; qt3=ql3+q3;
{qt}
fprintf('\n ESFUERZOS LOCALES EN CADA ELEMENTO {qt}:' ) qt1 qt2 qt3 end
DANDO DATOS AL CODIGO EN MATLAB, PARA LA SOLUCIÓN DEL PORTICO >> SOLPORTICO INGRESAR EA:10000 INGRESAR EI:5000 INGRESAR NUMERO DE GRADOS DE LIVERTAD:9 INGRESAR LA COORDENADA DEL ELEM N°1 X1=:3.5 INGRESAR LA COORDENADA DEL ELEM N°1 Y1=:4.5 INGRESAR LA COORDENADA DEL ELEM N°2 X2=:6 INGRESAR LA COORDENADA DEL ELEM N°2 Y2=:2.5 INGRESAR LA COORDENADA DEL ELEM N°3 X3=:2.5 INGRESAR LA COORDENADA DEL ELEM N°3 Y3=:-2 CALCULO DE LA MATRIZ DE ELEMENTO N°1: INGRESAR j1 DEL ELEMENTO INGRESAR j2 DEL ELEMENTO INGRESAR j3 DEL ELEMENTO INGRESAR j4 DEL ELEMENTO INGRESAR j5 DEL ELEMENTO INGRESAR j6 DEL ELEMENTO
TRANSFORMACIÓN [A]: N°1:1 N°1:7 N°1:2 N°1:5 N°1:9 N°1:6
ELEMENTO N°2: INGRESAR j1 DEL INGRESAR j2 DEL INGRESAR j3 DEL INGRESAR j4 DEL INGRESAR j5 DEL INGRESAR j6 DEL
ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO
N°2:1 N°2:7 N°2:2 N°2:8 N°2:3 N°2:4
ELEMENTO N°3: INGRESAR j1 DEL INGRESAR j2 DEL INGRESAR j3 DEL INGRESAR j4 DEL INGRESAR j5 DEL INGRESAR j6 DEL
ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO ELEMENTO
N°3:5 N°3:9 N°3:6 N°3:3 N°3:8 N°3:4
MATRIZ DE RIGIDEZ DE LA ESTRUCTURA [K]: K = 1.0e+03 * Columns 1 through 6 2.2061 -1.0017 -0.4686 -0.2731 -0.8629 -0.7286 1.1618 -1.3432 -0.6931
-1.0017 6.5852 -0.6554 1.5385 0.7286 1.7541 1.2222 0.2731 -0.5667
-0.4686 -0.6554 3.0318 -2.4838 -2.6181 -1.8284 -0.4137 -0.1631 0.6318
-0.2731 1.5385 -2.4838 9.3239 1.8284 3.1235 0.6554 -2.0124 2.2855
-0.8629 0.7286 -2.6181 1.8284 3.4810 2.5570 -0.6931 0.6318 0.0614
-0.7286 1.7541 -1.8284 3.1235 2.5570 9.7552 0.5667 -2.2855 1.7188
Columns 7 through 9 1.1618 1.2222 -0.4137 0.6554 -0.6931 0.5667 1.6288 -0.4686 -1.2150
-1.3432 0.2731 -0.1631 -2.0124 0.6318 -2.2855 -0.4686 3.6770 -2.3338
-0.6931 -0.5667 0.6318 2.2855 0.0614 1.7188 -1.2150 -2.3338 3.5488
CALCULO DE LA MATRIZ DE CARGA: ELEMENTO N°1: EFECTO DE LA CARGA EXTERNA: INGRESE INGRESE INGRESE INGRESE
LA LA LA LA
CARGA CARGA CARGA CARGA
DISTRIB:Wva(Hacia abajo)(+)=:81/65 DISTRIB:Wvb(Hacia abajo)(+):=81/65 DISTRIBUIDA:Wha(->)=:63/65 DISTRIBUIDA:Whb(->):=63/65
ELEMENTO N°2: EFECTO DE LA TEMPERATURA: INGRESE LA CONSTATE ALFA=:10^-5 INGRESE LA VARIACIÓN DE LA TEMPERATURA(Harriva)(+):T=:-100 INGRESE EL PERALTE h(m)=:0.25 ELEMENTO N°3: EFECTO DE LA CARGA EXTERNA: INGRESE INGRESE INGRESE INGRESE
LA LA LA LA
CARGA CARGA CARGA CARGA
DISTRIB:Wva(Hacia abajo)(+)=:0 DISTRIB:Wvb(Hacia abajo)(+):=-75/41 DISTRIBUIDA:Wha(->)=:0 DISTRIBUIDA:Whb(->):=-60/41
EL VECTOR CARGA {q} EN COORDENADAS GENERALES: qr1 = -4.5000 3.3750 0 0 -4.5000 -3.3750 0 0 0 qr2 = 0 20 0 -20 0 0 0
0 0 qr3 = 0 0 2.6239 0.9375 1.4034 -0.6250 0 -4.7241 -2.2477 EL VECTOR DE FIJACIÓN {R}= q1+q2+q3: R = -4.5000 23.3750 2.6239 -19.0625 -3.0966 -4.0000 0 -4.7241 -2.2477 INGRESAR FUERZA EN FUERZA EN FUERZA EN FUERZA EN FUERZA EN FUERZA EN FUERZA EN FUERZA EN
LAS CARGAS NODALES:FUERZA EN DIRACCIÓN DE D1=:0 DIRACCIÓN DE D2=:0 DIRACCIÓN DE D3=:-5 DIRACCIÓN DE D4=:0 DIRACCIÓN DE D5=:0 DIRACCIÓN DE D6=:0 DIRACCIÓN DE D7=:0 DIRACCIÓN DE D8=:0 DIRACCIÓN DE D9=:0
EL VECTOR DE CARGA {Q}=-R+F: Q = 4.5000 -23.3750 -7.6239 19.0625 3.0966 4.0000 0 4.7241 2.2477 CALCULO DEL VECTOR DESPLAZAMIENTO {D}: EL VECTOR DE DESPLAZAMIENTO {Du}=INV(Kuu)*Qu: Du = -0.0038 -0.0048 -0.0078 0.0017 -0.0063 0.0006
VECTOR DE REACCIONES EN LOS APOYOS {Re}: Re = -1.2509 -8.3459 2.6522
ESFUERZOS LOCALES EN CADA ELEMENTO {qt}: qt1 = -0.1275 -0.8949 -14.0390 -5.3980 7.9991 -11.3127 qt2 = -0.8109 -0.3131 14.0390 0.8109 0.3131 -16.0741
qt3 = 6.2676 7.5781 11.3127 1.2324 -10.5064 16.0741