Sei sulla pagina 1di 10

CODOGO EN MATLAB PARA LA SOLUCIÓN DE UN PORTICO PLADO DE 3 ELEMENTOS

function y=SOLPORTICO
% DATOS DE LOS MATERIALES DE LOS ELEMENTO
EA=input('INGRESAR EA:');
EI=input('INGRESAR EI:');
% NUMERO DE GRADOS DE LIBERTAD
N=input('INGRESAR NUMERO DE GRADOS DE LIVERTAD:');
% COORDENADAS DE CADA ELEMENTO
% ELEMENTO N°1
X1=input('INGRESAR LA COORDENADA DEL ELEM N°1 X1=:');
Y1=input('INGRESAR LA COORDENADA DEL ELEM N°1 Y1=:');
% ELEMENTO N°2
X2=input('INGRESAR LA COORDENADA DEL ELEM N°2 X2=:');
Y2=input('INGRESAR LA COORDENADA DEL ELEM N°2 Y2=:');
% ELEMENTO N°3
X3=input('INGRESAR LA COORDENADA DEL ELEM N°3 X3=:');
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 DEL ELEMENTO N°1:');


j2=input('INGRESAR j2 DEL ELEMENTO N°1:');
j3=input('INGRESAR j3 DEL ELEMENTO N°1:');
j4=input('INGRESAR j4 DEL ELEMENTO N°1:');
j5=input('INGRESAR j5 DEL ELEMENTO N°1:');
j6=input('INGRESAR j6 DEL ELEMENTO N°1:');
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 N°2:')

j1=input('INGRESAR j1 DEL ELEMENTO N°2:');


j2=input('INGRESAR j2 DEL ELEMENTO N°2:');
j3=input('INGRESAR j3 DEL ELEMENTO N°2:');
j4=input('INGRESAR j4 DEL ELEMENTO N°2:');
j5=input('INGRESAR j5 DEL ELEMENTO N°2:');
j6=input('INGRESAR j6 DEL ELEMENTO N°2:');
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 N°3:')

j1=input('INGRESAR j1 DEL ELEMENTO N°3:');


j2=input('INGRESAR j2 DEL ELEMENTO N°3:');
j3=input('INGRESAR j3 DEL ELEMENTO N°3:');
j4=input('INGRESAR j4 DEL ELEMENTO N°3:');
j5=input('INGRESAR j5 DEL ELEMENTO N°3:');
j6=input('INGRESAR j6 DEL ELEMENTO N°3:');
A3=zeros(6,N);
A3(1,j1)=1;
A3(2,j2)=1;
A3(3,j3)=1;
A3(4,j4)=1;
A3(5,j5)=1;
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 LA CARGA DISTRIB:Wva(Hacia abajo)(+)=:');


Wvb1=input('INGRESE LA CARGA DISTRIB:Wvb(Hacia abajo)(+):=');
Wha1=input('INGRESE LA CARGA DISTRIBUIDA:Wha(->)=:');
Whb1=input('INGRESE LA CARGA 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 LA CARGA DISTRIB:Wva(Hacia abajo)(+)=:');


Wvb3=input('INGRESE LA CARGA DISTRIB:Wvb(Hacia abajo)(+):=');
Wha3=input('INGRESE LA CARGA DISTRIBUIDA:Wha(->)=:');
Whb3=input('INGRESE LA CARGA 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 {qt}


qt1=ql1+q1;
qt2=ql2+q2;
qt3=ql3+q3;
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 TRANSFORMACIÓN [A]:


ELEMENTO N°1:
INGRESAR j1 DEL ELEMENTO N°1:1
INGRESAR j2 DEL ELEMENTO N°1:7
INGRESAR j3 DEL ELEMENTO N°1:2
INGRESAR j4 DEL ELEMENTO N°1:5
INGRESAR j5 DEL ELEMENTO N°1:9
INGRESAR j6 DEL ELEMENTO N°1:6

ELEMENTO N°2:
INGRESAR j1 DEL ELEMENTO N°2:1
INGRESAR j2 DEL ELEMENTO N°2:7
INGRESAR j3 DEL ELEMENTO N°2:2
INGRESAR j4 DEL ELEMENTO N°2:8
INGRESAR j5 DEL ELEMENTO N°2:3
INGRESAR j6 DEL ELEMENTO N°2:4

ELEMENTO N°3:
INGRESAR j1 DEL ELEMENTO N°3:5
INGRESAR j2 DEL ELEMENTO N°3:9
INGRESAR j3 DEL ELEMENTO N°3:6
INGRESAR j4 DEL ELEMENTO N°3:3
INGRESAR j5 DEL ELEMENTO N°3:8
INGRESAR j6 DEL ELEMENTO 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.0017 6.5852 -0.6554 1.5385 0.7286 1.7541
-0.4686 -0.6554 3.0318 -2.4838 -2.6181 -1.8284
-0.2731 1.5385 -2.4838 9.3239 1.8284 3.1235
-0.8629 0.7286 -2.6181 1.8284 3.4810 2.5570
-0.7286 1.7541 -1.8284 3.1235 2.5570 9.7552
1.1618 1.2222 -0.4137 0.6554 -0.6931 0.5667
-1.3432 0.2731 -0.1631 -2.0124 0.6318 -2.2855
-0.6931 -0.5667 0.6318 2.2855 0.0614 1.7188
Columns 7 through 9

1.1618 -1.3432 -0.6931


1.2222 0.2731 -0.5667
-0.4137 -0.1631 0.6318
0.6554 -2.0124 2.2855
-0.6931 0.6318 0.0614
0.5667 -2.2855 1.7188
1.6288 -0.4686 -1.2150
-0.4686 3.6770 -2.3338
-1.2150 -2.3338 3.5488

CALCULO DE LA MATRIZ DE CARGA:

ELEMENTO N°1:
EFECTO DE LA CARGA EXTERNA:

INGRESE LA CARGA DISTRIB:Wva(Hacia abajo)(+)=:81/65


INGRESE LA CARGA DISTRIB:Wvb(Hacia abajo)(+):=81/65
INGRESE LA CARGA DISTRIBUIDA:Wha(->)=:63/65
INGRESE LA CARGA 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 LA CARGA DISTRIB:Wva(Hacia abajo)(+)=:0


INGRESE LA CARGA DISTRIB:Wvb(Hacia abajo)(+):=-75/41
INGRESE LA CARGA DISTRIBUIDA:Wha(->)=:0
INGRESE LA CARGA 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 LAS CARGAS NODALES:FUERZA EN DIRACCIÓN DE D1=:0


FUERZA EN DIRACCIÓN DE D2=:0
FUERZA EN DIRACCIÓN DE D3=:-5
FUERZA EN DIRACCIÓN DE D4=:0
FUERZA EN DIRACCIÓN DE D5=:0
FUERZA EN DIRACCIÓN DE D6=:0
FUERZA EN DIRACCIÓN DE D7=:0
FUERZA EN DIRACCIÓN DE D8=:0
FUERZA EN 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

Potrebbero piacerti anche