Professional Documents
Culture Documents
FACULTAD
: INGENIERIA DE MINAS, GEOLOGIA Y CIVIL
ESCUELA
: INGENIERIA CIVIL
PROFESOR:
ING. CRISTIAN CASTRO PEREZ
ASIGNATURA : PROGRAMACION DIGITAL (IC-246)
FECHA
: 08/06/2009
JEFE DE PRCTICAS:
LUGAR
: AYACUCHO-PER
CSAR LIFONZO SALCEDO
LABORATORIO N 04
BIFURCACIONES Y BUCLES: SENTENCIA FOR
OBJETIVO
Conocimiento y dominio de la sentencia for, con lectura y escritura interactiva de
variables, que permiten realizar una u otra operacin segn se cumpla o no una
determinada condicin.
PROBLEMA N O1
Desarrollar un programa de anlisis de armaduras estructurales por el mtodo de
rigideces, que calcule la matriz de rigidez de cada elemento en coordenadas locales
y globales, matriz de rigidez global del sistema, los desplazamientos, las
reacciones, fuerzas internas o axiales y esfuerzos normales. El programa debe ser
elaborado en el Interfaz Grafica de Usuario (GUI) de MATLAB.. Usted debe
controlar todos los objetos y funciones que utilice para el ingreso, procesamiento
y presentacin de resultados de acuerdo a la seleccin que haga el usuario del
programa.
.
E-mail: heatchris@hotmail.com
E-mail: coamcycesh@gmail.com
DESCRIPCION MATEMATICA
MATRIZ DE RIGIDEZ EN COORDENADAS LOCALES
1 0 1 0
E
A
i i 0 0 0 0
K
i
L
1 0 1 0
i
MATRIZ DE ROTACION
E-mail: heatchris@hotmail.com
0 0 0 0
E-mail: coamcycesh@gmail.com
Cxi Cyi
Cyi Cxi
T
i
0 0
0 0
0
0
Cx Cy
i
i
Cy Cx
i
i
0
i1
KG
T
K T
i
2
2
Cx
Cx
Cy
Cx
Cx
Cy
i
i
i
i
i
i
2
2
Cy
Cy
Cx
Cy
Cy
E
A Cxi
i
i
i
i
i
i i
KG
i
L
2
2
i
Cx
Cx
Cy
Cx
Cx
Cy
i
i
i
i
i
i
2
2
Cx
Cy
Cy
Cx
Cy
Cyi
i
i
i
i
i
Ni
2
e
V
Nj 1
2
e
2
Nj 1
e
NM
2
NR
E-mail: coamcycesh@gmail.com
U
KGM
FN
CALCULO DE REACCIONES
R
KG
U FN
Ni
2
e
V
Nj 1
2
e
2
Nj
e
uxi Cxi
uyi Cy i
uxj 0
uy 0
j
UXV1
Cx
0
0
UY
i
V2
0 Cx Cy
UX
i
i V3
0 Cy Cx
UY
i
i V4
Cy
fy
E
A
i i i 0
fx
L
1
j
i
fy
0
j
uxi
0 1 0
uy
0 0 0 i
0 1 0 ux
0 0
0
uy
ux ux
i
i
j
L
i
E-mail: heatchris@hotmail.com
E-mail: coamcycesh@gmail.com
DESCRIPCION DE COMANDOS
La sentencia for repite un conjunto de sentencias un nmero predeterminado de
veces. La sentencia for de MATLAB es muy diferente y no tiene la generalidad de la
sentencia for de C/C++/Java. La siguiente construccin ejecuta sentencias con
valores de i de 1 a n, variando de uno en uno.
for i=1:n
sentencias
end
o bien,
for i=vectorValores
sentencias
end
Donde vectorValores es un vector con los distintos valores que tomar la variable
i. En el siguiente ejemplo se presenta el caso ms general para la variable del bucle
(valor_inicial: incremento: valor_final); el bucle se ejecuta por primera vez con i=n,
y luego i se va reduciendo de 0.2 en 0.2 hasta que llega a ser menor que 1, en cuyo
caso el bucle se termina:
for i=n:-0.2:1
sentencias
end
En el siguiente ejemplo se presenta una estructura correspondiente a dos bucles
anidados. La variable j es la que vara ms rpidamente (por cada valor de i, j
toma todos sus posibles valores):
for i=1:m
for j=1:n
sentencias
end
end
Una ltima forma de inters del bucle for es la siguiente (A es una matriz):
for i=A
sentencias
end
En la que la variable i es un vector que va tomando en cada iteracin el valor de
una de las columnas de A.
Cuando se introducen interactivamente en la lnea de comandos, los bucles for se
ejecutan slo despus de introducir la sentencia end que los completa.
E-mail: heatchris@hotmail.com
E-mail: coamcycesh@gmail.com
E-mail: coamcycesh@gmail.com
E-mail: coamcycesh@gmail.com
%=====================================================================
=====
disp('VECTOR DE FUERZAS')
FN=zeros(2*NN,1);
for I=1:NNC
V=[2*NC(I)-1;2*NC(I)];
FN(V(1),1)=FX(I);
FN(V(2),1)=FZ(I);
end
disp('FN=')
disp(FN)
%=====================================================================
=====
disp('DESPLAZAMIENTOS')
U=inv(KGM)*FN;
disp('U=')
disp(U)
%=====================================================================
=====
disp('REACCIONES')
R=KG*U-FN;
disp('R=')
disp(R)
%=====================================================================
=====
disp('FUERZAS INTERNAS O AXIALES Y ESFUERZOS NORMALES')
for I=1:NM
disp(strcat('f',int2str(I),'='))
K=E(P(I))*A(P(I))/L(I)*[1,0,-1,0;0,0,0,0;-1,0,1,0;0,0,0,0];
T=[Cx(I),Cy(I),0,0;-Cy(I),Cx(I),0,0;0,0,Cx(I),Cy(I);0,0,Cy(I),Cx(I)];
V=[2*Ni(I)-1;2*Ni(I);2*Nj(I)-1;2*Nj(I)];
UL=[U(V(1));U(V(2));U(V(3));U(V(4))];
u=T*UL;
f=K*u;
disp(f)
disp(strcat('en',int2str(I),'='))
en=E(P(I))/L(I)*(u(1)-u(3));
disp(en)
end
E-mail: heatchris@hotmail.com
E-mail: coamcycesh@gmail.com
EJEMPLO DE APLICACIN
ANLISIS DE ARMADURAS BIDIMENSIONALES
Nudo
1
2
3
4
5
X (ft)
0
3
0
3
6
Z (ft)
3
3
0
0
0
0
36
X 0
36
72
36
36
Y 0
0
0
Ni
1
2
3
2
2
4
1
2
3
Ni
2
2
Nj
2
3
4
4
5
5
Propiedad
1
1
1
1
1
1
2
3
4
Nj
4
5
1
1
1
P
1
1
PROPIEDADES:
Propiedad
1
Area (in2)
8
A 8
E (lb/in2)
1900000
E 1900000
4
NC
5
Fx (lb)
0
0
0
Fx
0
Fz (lb)
500
500
500
Fz
500
RESTRICCIONES:
Se hace mencin a los apoyos que existen en la estructura a analizar. Se debe tener el
siguiente criterio para los apoyos:
0 = libre
1 = restringido
< 0 = resorte
Nudo
1
3
Ux
1
1
1
NR
3
Uz
1
1
1
Ux
1
1
Uz
1
NN
rows ( X)
NN 5
Numero de Miembros
NM
rows ( Ni)
NM 6
k
1
NM
Njk
Y
Y
Nik
Nj k Nik
36
50.9117
36
L
36
50.9117
36
Cosenos directores de cada Elemento:
X
Njk X Ni k
Cx
k
L
k
Y
Njk YNi k
Cy
k
L
k
1
0.7071
Cx
0
0.7071
0
0.7071
Cy
1
0.7071
Cx
Cy
Cx
Cx
Cy
1
1
1
1
1
1
2
2
Cx
Cy
Cy
Cx
Cy
Cy
1
1
1
1
1
1
E
A
K1
L
2
2
1
Cx
Cx
Cy
Cx
Cx
Cy
1 1 1 1
1
1
2
2
Cx
Cy
Cy
Cx
Cy
Cy1
1
1
1 1 1
422222.2222 0 422222.2222 0
0
0
0
0
K1
422222.2222 0 422222.2222 0
0
0
0
0
422222.2222 0 422222.2222 0
0
0
0
0
422222.2222 0 422222.2222 0
0
0
0
0
0
0
0
0
KG1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0 0 0 0 0
0
0
0
0
0
0
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Elemento [2]:
2
Cx 2
Cx
Cy
Cx
Cx
Cy
2
2
2
2
2
2
2
2
Cx
Cy
Cy
Cx
Cy
Cy
2
2
2
2
2
2
E
A
K2
L
2
2
2
Cx
Cx
Cy
Cx
Cx
Cy
2 2 2 2
2
2
2
2
Cx
Cy
Cy
Cx
Cy
Cy2
2
2
2 2 2
K2
149278.0983 149278.0983 149278.0983 149278.0983
149278.0983 149278.0983 149278.0983 149278.0983
0
0
0
0
KG2
0
0
0
0
0 0 0 0
0 0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
Elemento [3]:
2
Cx 2
Cx
Cy
Cx
Cx
Cy
3
3
3
3
3
3
2
2
Cx
Cy
Cy
Cx
Cy
Cy
3
3
3
3
3
3
E
A
K3
L
2
2
3
Cx
Cx
Cy
Cx
Cx
Cy
3 3 3 3
3
3
2
2
Cx
Cy
Cy
Cx
Cy
Cy3
3
3
3 3 3
422222.2222 0 422222.2222 0
0
0
0
0
K3
422222.2222 0 422222.2222 0
0
0
0
0
0
0
0
0
0
0
0
0
0
KG3
0
0
0
0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0
0 0 0
0 0
0 0 0 422222.2222 0 422222.2222 0 0
0 0 0
0 0
0 0 0 422222.2222 0 422222.2222 0 0
0 0 0
0 0
0 0 0
0 0
0 0 0
0 0
0
0
0
0
0
0
Elemento [4]:
2
Cx 2
Cx
Cy
Cx
Cx
Cy
4
4
4
4
4
4
Cx
Cy
Cy42 Cx4Cy4 Cy4 2
E
A 4 4
K4
L
2
2
4
Cx4 Cx4Cy4 Cx4 Cx4 Cy4
2
2
Cx
Cy
Cy
Cx
Cy
Cy4
4
4
4 4 4
0
0
0
0
0 422222.2222 0 422222.2222
K4
0
0
0
0
0 422222.2222 0 422222.2222
0
0
0
KG4
0
0
0
0
0 0
0 0 0
0 0
0 0
0 0 0
0 0
0 0
0 0 0
0 0 422222.2222 0 0 0 422222.2222 0
0 0
0 0 0
0 0
0 0 0
0 0
0 0 0
0 0 422222.2222 0 0 0 422222.2222 0
0 0
0 0 0
0 0
0 0 0
0
0
0
0
0
0
Elemento [5]:
2
Cx 2
Cx
Cy
Cx
Cx
Cy
5
5
5
5
5
5
2
2
Cx
Cy
Cy
Cx
Cy
Cy
5
5
5
5
5
5
E
A
K5
L
2
2
5
Cx
Cx
Cy
Cx
Cx
Cy
5
5
5
5
5
5
2
2
Cx
Cy
Cy
Cx
Cy
Cy5
5
5
5 5 5
K5
149278.0983 149278.0983 149278.0983 149278.0983
149278.0983 149278.0983 149278.0983 149278.0983
0
0
0
0
KG5
0
0
0
0
0 0 0 0
0 0 0 0
0 149278.0983 149278.0983 0 0 0 0
0 149278.0983 149278.0983 0 0 0 0
0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 149278.0983 149278.0983 0 0 0 0
0 149278.0983 149278.0983 0 0 0 0
0
0
149278.0983 149278.0983
149278.0983 149278.0983
0
0
0
0
0
0
0
0
149278.0983 149278.0983
149278.0983 149278.0983
0
Elemento [6]:
2
Cx 2
Cx
Cy
Cx
Cx
Cy
6
6
6
6
6
6
2
2
Cx
Cy
Cy
Cx
Cy
Cy
6
6
6
6
6
6
E
A
K6
L
2
2
6
Cx
Cx
Cy
Cx
Cx
Cy
6 6 6 6
6
6
2
2
Cx
Cy
Cy
Cx
Cy
Cy6
6
6
6 6 6
422222.2222 0 422222.2222 0
0
0
0
0
K6
422222.2222 0 422222.2222 0
0
0
0
0
0
0
0
0
KG6
0
0
0
0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0 422222.2222 0
0 0 0 0 0
0 0 0 0 0 422222.2222 0
0 0 0 0 0
0
0
0
0
0
0
0
0
422222.2222 0
0
0
422222.2222 0
0
0
422222.2222 0
0
0
422222.2222 0
0
0
0
0
KG
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
720778.4187
0
149278.0983 149278.0983
0
0
149278.0983 149278.0983
0
720778.4187 149278.0983 149278.0983
0
422222.2222 149278.0983 149278.0983
0
0
422222.2222
0
844444.4444
0
422222.2222
0
0
422222.2222
0
0
0
422222.2222
0
0
149278.0983 149278.0983
0
0
422222.2222
0
571500.3205 149278.0983
149278.0983 149278.0983
0
0
0
0
149278.0983 149278.0983
422222.2222
0
1
0
0
0
0
0
0
0
0
0
149278.0983 149278.0983
0
0
149278.0983 149278.0983
422222.2222 0 720778.4187
0
0
0
720778.4187 149278.0983 149278.0983
0
422222.2222 149278.0983 149278.0983
0
0
0
0
1
0
0
0
0
0
KGR
0
0
0
0
0
1
0
0
0
0
0
0
0
0
422222.2222
0
844444.4444
0
422222.2222
0
0
0
0
422222.2222
0
0
0
422222.2222
0
0
0
0 149278.0983 149278.0983
0
0
422222.2222
0
571500.3205 149278.0983
0
0 149278.0983 149278.0983
0
0
0
0
149278.0983 149278.0983
0
0
0
0
0
FN
0
0
500
0
500
CLCULO DE DESPLAZAMIENTOS EN EL SISTEMA GLOBAL
1
U
KGR
FN
0
0.00355
0.01025
U
0
0.00118
0.01144
0.00237
0.01952
1500
0
0
0
1500
R
1000
0
0
0
0
FUERZAS INTERNAS O AXIALES Y ESFUERZOS NORMALES EN EL
SISTEMA LOCAL
Para calcular las fuerzas internas, nosotros debemos conocer los desplazamientos del
nodo inicial y final ux y u y del elemento con respecto al sistema de coordenadas locales x,
y
Elemento [1]:
Desplazamiento en coordenadas locales
0
0 UX
ux Cx Cy
1
1
1
2
i1
0 UY
uy 1 Cy1 Cx1 0
2
i
0
Cx Cy
UX
ux2 0
1
1 2
j 1
uy 0
0 Cy Cx UY
1
1 2
j
2
uy
fy1 E
A 0 0 0 0 1
fx
L
1 0 1 0 ux
2
fy
2
2
0 0 0 0
uy
2
ux1
0
uy 1
0
ux
0.0036
2
uy 0.0103
2
fx1
1500
fy1
0
fx2 1500
fy 0
2
E
1
ux ux
1
2
L
1
1 187.5
Elemento [2]:
Desplazamiento en coordenadas locales
ux2 Cx2
uy 2 Cy2
ux
0
3
uy 0
3
UX2i1
Cx
0
0 UY
2
2
i
0
Cx Cy
UX
2
2 2
j 1
UY
0 Cy Cx
2
2 2
j
Cy
ux2
0.0047
uy 2 0.0098
ux
0
3
uy 0
3
fx2
1
fy2 E
A 0
fx3 L2 1
0
fy
ux2
0 1 0
uy
0 0 0 2
0 1 0 ux
0 0 0
uy
fx2
1414.2136
fy2
0
1414.2136
fx
3
fy
0
E
2
ux ux
2
3
L
2 176.7767
Elemento [3]:
Desplazamiento en coordenadas locales
ux3 Cx3
uy 3 Cy3
ux4 0
uy 0
4
UX2i1
Cx
0
0 UY
3
2
i
0
Cx Cy
UX
3
3 2
j 1
0 Cy Cx UY
3
3 2
j
Cy
ux3
0
uy 3
0
ux4 0.0012
uy 0.0114
4
fx3
1
fy3 E
A 0
fx
L
1
4 3
fy
0
4
ux3
0 1 0
uy
0 0 0 3
0 1 0 ux
0 0 0
uy
fx3
500
fy3 0
fx
500
4
fy 0
4
E
3
ux ux
3
4
L
3
3 62.5
Elemento [4]:
Desplazamiento en coordenadas locales
0 UX
ux2 Cx4 Cy4 0
2
i1
0 UY
uy 2 Cy4 Cx4 0
2
i
ux
0
0
Cx Cy
UX
4
4
4 2
j 1
uy 0
UY
0 Cy Cx
4
4 2
j
4
ux2
0.0103
uy 2 0.0036
ux
0.0114
4
uy 0.0012
4
fx2
1
fy2 E
A 0
fx4 L4 1
0
fy
ux2
0 1 0
uy
0 0 0 2
0 1 0 ux
0 0 0
uy
fx2
500
fy2 0
500
fx
4
fy
0
4
E
4
ux ux
2
4
L
4 62.5
Elemento [5]:
Desplazamiento en coordenadas locales
0 UX
ux2 Cx5 Cy5 0
2
i1
0 UY
uy 2 Cy5 Cx5 0
2
i
0
Cx Cy
UX
ux5 0
5
5 2
j 1
uy 0
0 Cy Cx UY
5
5 2
j
5
ux2
0.00976
uy 2 0.00474
ux
0.01213
5
uy 0.01548
5
fx2
1
fy
2 E
A 0
fx5 L5 1
0
fy
ux2
0 1 0
uy
0 0 0 2
0 1 0 ux
0 0 0
uy
fx2
707.1068
fy2
0
fx
707.1068
5
fy 0
E
5
ux ux
2
5
L
5
5 88.3883
Elemento [6]:
Desplazamiento en coordenadas locales
0 UX
ux4 Cx6 Cy6 0
2
i1
0 UY
uy 4 Cy6 Cx6 0
2
i
ux
0
0
Cx Cy
UX
5
6
6 2
j 1
uy 0
UY
0 Cy Cx
6
6 2
j
5
ux4
0.0012
uy 4 0.0114
ux
0.0024
5
uy 0.0195
5
fx4
1
fy4 E
A 0
fx5 L6 1
0
fy
ux4
0 1 0
uy
0 0 0 4
0 1 0 ux
fx4
500
fy4 0
500
fx
5
fy
0
5
0 0 0
uy
E
6
ux ux
4
5
L
6
6 62.5