Está en la página 1de 79

Resolucin de una estructura de barras Mtodos Numricos

NDICE
1
Resolucin de una estructura de barras Mtodos Numricos
1. ENUNCIADO
Realizar un programa en MATLAB para la resolucin de una estructura de
barras de la forma de la figura, con diferentes condiciones de contorno.
El trabajo debe considerar los siguientes aspectos:
.. !efinicin general de la estructura, obteniendo todas las
conecti"idades de la malla entre nodos # aristas.
.$. %onstruccin general del sistema de ecuaciones asociado #
resolucin utilizando el M&todo de %ompatibilidad # el M&todo !irecto
de la Rigidez.
.'. Representacin gr(fica de las soluciones en cada nodo.
2. INTRODUCCIN TERICA
2
Resolucin de una estructura de barras Mtodos Numricos
)e denomina estructura a cual*uier sistema de cuerpos unidos entre s+ *ue sea
capaz de ejercer, soportar o transmitir esfuerzos.
Las estructuras est(n formadas por partes interconectadas entre s+ llamadas
barras, las cuales se dise,an determinando las fuerzas *ue act-an sobre ellas.
Las barras est(n unidas en sus e.tremos por medio de articulaciones o nudos.
/or tanto, las barras son elementos sometidos a dos fuerzas, *ue son iguales #
opuestas # est(n dirigidas a lo largo de la barra.
/ara *ue la capacidad resistente de una estructura se 0aga m(.ima, las cargas
e.ternas se deben aplicar en los nudos para e"itar problemas de fle.in o
pandeo.
%ada barra se puede considerar como un slido sometido a dos cargas
e*ui"alentes en sus e.tremos. %uando estas fuerzas se alejan una de la otra la
barra est( trabajando a traccin 1T2, mientras *ue si las fuerzas se acercan
entre s+, la barra se dice *ue est( a compresin 1%2.
Las estructuras se apo#an sobre elementos *ue, dependiendo de su
naturaleza, tendr(n diferentes tipos de reacciones. En nuestro problema slo
0a# dos tipos de apo#os:
Apo#o fijo o articulacin: no permite desplazamientos, de este modo,
presenta dos reacciones, una en sentido 0orizontal # otra en sentido
"ertical.
3
Resolucin de una estructura de barras Mtodos Numricos
Apo#o m"il: permite el desplazamiento 0orizontal, por lo *ue
-nicamente presenta una reaccin en sentido "ertical.
/ara calcular una estructura primero 0a de definirse detalladamente, es decir,
se debe conocer el n-mero de nodos, de reacciones # de barras, para saber
*ue car(cter presenta.
n: n-mero de nodos
b: n-mero de barras
r: n-mero de reacciones
3na estructura puede ser:
4)5)T6T4%A: Estructura *ue puede ser analizada mediante los
principios de la est(tica7 la supresin de cual*uiera de sus ligaduras
conduce al colapso. Tambi&n llamada estructura est(ticamente
determinada.
)er( isost(tica cuando se cumpla:
84/ERE)T6T4%A: Estructura *ue necesita m(s elementos de los
necesarios para mantenerse estable7 la supresin de uno de ellos no
conduce al colapso, pero modifica sus condiciones de funcionamiento
est(tico. Tambi&n llamada estructura est(ticamente indeterminada.
)er( 0iperest(tica cuando se cumpla:
4
0 2 = r b n
0 2 < r b n
Resolucin de una estructura de barras Mtodos Numricos
Todas las estructuras articuladas simples, compuestas # complejas son
isost(ticas interiormente, # en ellas se puede calcular las tensiones en las
barras, empleando distintos procedimientos gr(ficos o anal+ticos.
En nuestro problema slo trabajaremos con estructuras de car(cter isost(tico #
estar(n formadas por:
%omo m+nimo 9 nudos 1si *uisi&ramos a,adir, tendr+a *ue ser un
n-mero impar ma#or *ue el 92
El n-mero de barras se obtendr( de forma autom(tica a partir del
n-mero de nodos introducido por el usuario.
' reacciones 1$ del apo#o fijo # una del apo#o m"il2

3na "ez definidos todos los par(metros en el Matlab aparece un dibujo de la
estructura. A continuacin se muestra el ejemplo para una estructura de 9
nodos.
3. CLCULO DE LA ESTRUCTURA
3.1. Mtodo de Compatibiidad
%on este m&todo obtenemos como resultado las fuerzas a las *ue est(n
sometidas cada barra.
/ara ello calculamos el e*uilibrio, es decir, en cada nodo debe cumplirse la
siguiente relacin:
5
Resolucin de una estructura de barras Mtodos Numricos

Las fuerzas *ue aparecen en cada nodo pueden ser de dos tipos:
:uerzas e.teriores aplicadas: el programa de forma autom(tica, le
dice al usuario *ue inserte el n-mero de fuerzas e.teriores aplicadas,
el nodo sobre el *ue est(n # el "alor *ue presentan.
:uerzas producidas por las barras: una barra produce en cada uno
de los nodos de sus e.tremos una fuerza de mismo mdulo pero de
sentido contrario. !ic0as fuerzas debemos descomponerlas en una
componente "ertical # en otra 0orizontal, teniendo en cuenta *ue al
tratarse de tri(ngulos e*uil(teros, las barras forman entre s+ (ngulos
de ;<=.
El resultado de realizar el e*uilibrio en cada nodo lo introducimos en una
matriz, matriz >A?, # como es de esperar, la matriz *ue se genera presenta
tantas filas como nodos tenga el problema pero multiplicado por dos 1pues
cada nodo genera un par de ecuaciones27 # el n-mero de columnas ser( el
mismo *ue el n-mero de filas.
Las fuerzas e.teriores aplicadas las introducimos en una matriz columna de
forma ordenada, es decir, de forma descendente del primer nodo al -ltimo #
primero las fuerzas 0orizontales # a continuacin las "erticales, matriz @:A.
El resultado del problema se obtiene de resol"er un sistema de ecuaciones
matricial del tipo:
@:A B >A?C@BA
donde:
@:AB es el "ector columna *ue presenta las fuerzas e.teriores.
>A?B es la matriz resultado de realizar el e*uilibrio nodo a nodo.
6

=
=
=
=
=
=
n i
i
verticales
n i
i
es horizontal
F
F
1
1
0
0
Resolucin de una estructura de barras Mtodos Numricos
@BAB es el "ector columna *ue presenta nuestras incgnitas.
3na "ez obtenidas las incgnitas, es decir, el "ector columna @BA, 0emos
llegado a la resolucin del problema.
Los primeros t&rminos del "ector se corresponden a los a.iles de cada
barra, esto es, la fuerza a la *ue est( sometida cada barra *ue podr( ser
positi"a 1la barra est( sometida a traccin2 o negati"a 1si est( sometida a
compresin2.
Los tres -ltimos t&rminos del "ector se corresponden con las reacciones
*ue se producen en los apo#os de la estructura.
3.2. Mtodo Di!e"to de a Ri#ide$
%on este m&todo obtenemos como resultado los desplazamientos *ue se
producen en cada nodo # es posible aplicarlo por*ue se trata de una
estructura articulada plana donde no e.isten ni cortantes ni flectores, slo
a.iles.
8emos de tener en cuenta *ue en el nodo no se producir( ning-n
desplazamiento #a *ue est(n impedidos en ambas direcciones 10orizontal #
"ertical2 mediante un apo#o fijo7 mientras *ue en el -ltimo nodo slo ser(
posible un desplazamiento "ertical pues el 0orizontal est( impedido,
mediante un apo#o m"il.
/ara ello el programa pide:
El (rea de las barras 1el mismo para todas2.
El mdulo de elasticidad 1por defecto el programa ofrece EB$<<
tonDcm
$
pero da al usuario la posibilidad de poner otro distinto2.
La longitud de las barras 1todas tienen la misma2.
El m&todo directo de la rigidez, resuel"e el siguiente sistema de ecuaciones
matriciales.
7
Resolucin de una estructura de barras Mtodos Numricos
El "ector columna @fA, est( formado por las fuerzas e.ternas
aplicadas sobre cada nodo, seg-n sean 0orizontales o "erticales. El
programa pide *ue sean introducidos el n-mero del nodo sobre el
*ue se aplican # su "alor.
El "ector columna @uA es el referente a los desplazamientos # ser( el
resultado de nuestro problema.
El t&rmino
L
AE
corresponde a la multiplicacin del (rea por el mdulo
de elasticidad # todo ello di"idido por la longitud de las barras, *ue
como 0emos dic0o, todas las barras presentan las mismas
caracter+sticas.
A la matriz central se le denomina Matriz de Rigidez Elobal >MRE? #
se forma a,adiendo las matrices de rigidez elementales asociadas a
cada elemento. %omo se indica en la figura, la c 0ace referencia al
coseno # la s al seno del (ngulo *ue se forma en cada nodo entre la
barra 1esfuerzos longitudinales2 # el sistema de referencia *ue "amos
a utilizar para descomponer los desplazamientos en . e #.
8
Resolucin de una estructura de barras Mtodos Numricos
3na "ez obtenidos los desplazamientos, el programa genera un dibujo donde
se presenta la deformada *ue ad*uiere la estructura debido a las fuerzas
e.istentes.
%. &RO'RAMA
%.1. E(pi"a"i)* de Mtodo de Compatibiidad
%.1.1. I*t!od+""i)* de e*"abe$ado
fprintf(1,'\n\n_______________________________________________________
_____________________________________________\n\n');
fprintf(1,' PROGRAMA DE CALCULO DE LA ESTRUCTURA
DE UN PUENTE\n');
fprintf(1,'___________________________________________________________
_________________________________________\n\n\n');

Con esto se consigue introducir un encabezado en el cual se hace referencia al
tipo de ejercicio que se va a realizar a continuacin.
%.1.2. I*t!od+""i)* de a, -a!iabe,
sys('','!','i','"','#','y','$','%','&','AREA');
sys(''NP','NAME','fi(','A',')');

En nuestro caso, disponemos de varias variables, la ms destacada es el
n!mero de nodos de la estructura, a la cual le corresponde una "m#.
%.1.3. I*t!od+""i)* de +*a b!e-e e(pi"a"i)*
fprintf(1,'Est* pr+,r$$ r*s-*&.* &$ *str-/t-r$ (* -n p-*nt* p+r *&
M0t+(+ (* C+p$ti%i&i($(, 1$/i*n(+\n');
fprintf(1,'-s+ (* &$ f$/t+ri2$/i3n LU p$r$ r*s+&.*r *& sist*$ (*
*/-$/i+n*s4\n');
fprintf(1,'L$s %$rr$s (* &$ *str-/t-r$ t*n(r5n t+($s &$ is$
&+n,it-(, f+r5n(+s* *ntr* *&&$s tri5n,-&+s \n*6-i&5t*r+s\n\n')
%.1.%. Le"t+!a de dato,
9
Resolucin de una estructura de barras Mtodos Numricos
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+ ip$r
$y+r 6-* /in/+)\n');
8 inp-t(' ');
En este caso, hemos utilizado la funcin "fprintf# con la cual, aparecer en
pantalla que el usuario debe introducir el numero de nodos que desea.
$na vez introducido, ser almacenado como variable "m#.

91i&* r*(,:)88; << =>
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+
ip$r $y+r 6-* /in/+)\n');
8 inp-t(' ');
*n(
Con esta funcin nos aseguramos que la variable "m#, que corresponde al
numero de nodos, sea impar % ma%or de &, %a que as' ser'an las condiciones
m'nimas para una estructura de este tipo.

i8;

TRUE 8 1;
?ALSE 8 ;;
/&+s*;
$na vez que se cumple la condicin propuesta, se hace un cambio de variable
(se introduce el valor de "m# en "i#) % se cierran las pantallas anteriores.

%.1... I*t!od+""i)* de a #!/0i"a
tit&*('Estr-/t-r$ (*& p-*nt*');
$#is(@; A1 ; BC);
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;

Con esto determinamos los ejes de la grfica % la mantenemos para ir
introduciendo los datos posteriormente.
En esta parte se procede al dibujo de la estructura, teniendo en cuenta que
siempre va a dibujarse una estructura m'nima compuesta por un tringulo
equiltero, * nodos % * barras. + partir de esta estructura base, se ir
aumentando el numero de barras en funcin de el n!mero de nodos
introducidos por el usuario, mediante la misma secuencia.
Con lo cual, tenemos lo siguiente,
91i&* iD8>;
#8@i iE1C;F/++r(*n$($s # (* 1 &in*$
10
Resolucin de una estructura de barras Mtodos Numricos
y8@1 :C;F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y);
t*#t(iE;4;>,;4G,HiI);Fn-*r+ (*& n+(+
t*#t(iE14;>,14G,HiE1I);Fn-*r+ (*& n+(+
#8@i iE:C;
y8@1 1C;
p&+t(#,y);
#8@iE1 iE:C;
y8@: 1C;
p&+t(#,y);
#8@iE1 iEBC;
y8@: :C;
p&+t(#,y);
i8iE:;
*n(;

Mediante esta funcin dibujaremos las barras que aumentan la estructura con
cada par de nodos ma%or que &.
#8@1 BC;
y8@1 1C;
p&+t(#,y);
#8@1 :C;
y8@1 :C;
p&+t(#,y);
#8@: BC;
y8@: 1C;
p&+t(#,y);
t*#t(;4G>,;4G,'1');
t*#t(14G>,14G,':');
t*#t(:4G>,;4G,'B');
Mediante esta funcin, dibujaremos las l'neas correspondientes al primer
tringulo, es decir, las barras hasta el nodo *.

#8@1 141>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);
Con esta funcin realizamos el dibujo que corresponde al apo%o del nodo -,
que se trata de un apo%o fijo.

#8@ A;41>C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
11
Resolucin de una estructura de barras Mtodos Numricos
#8@ E;41>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41> A;41>C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>,;4JL,'\+');
t*#t(A;4;>,;4JL,'\+');
#8@E;4:> A;4:>C;
y8@;4J1 ;4J1C;
p&+t(#,y);
Con esta funcin realizamos el dibujo que corresponde al apo%o del nodo m,
que se trata de un apo%o mvil.
%.1.1. C!ea"i)* de +*a mat!i$

A 8 2*r+s(:M,:MA1);
Creamos la matriz +, donde vamos a insertar el sistema de ecuaciones para
luego resolver por el mtodo .$.

A(1,1)8 ;4>; F*n #
A(1,:)8 1;
A(1,:ME:)8 1;
A(:,1)8 s6rt(B)N:; F*n y
A(:,:ME1)8 1;

/ntroducimos las ecuaciones del nodo -
A(B,1)8 E;4>;
A(B,B)8 ;4>;
A(B,L)8 1;
A(L,1)8 Es6rt(B)N:;
A(L,B)8 Es6rt(B)N:;
/ntroducimos las ecuaciones del nodo 0
A(:MEB,:MEO)8 E1;
A(:MEB,:ME>)8 E;4>;
A(:MEB,:MEB)8 ;4>;
A(:ME:,:ME>)8 Es6rt(B)N:;
A(:ME:,:MEB)8 Es6rt(B)N:;
/ntroducimos las ecuaciones del nodo m1-
A(:ME1,:MEL)8 E1;
A(:ME1,:MEB)8 E;4>;
A(:M,:MEB)8 s6rt(B)N:;
12
Resolucin de una estructura de barras Mtodos Numricos
A(:M,:M)8 1;

/ntroducimos las ecuaciones del nodo m

f+r i 8 B P E:

A(:MiE1,:MiEL)8 E1; F*6-i&i%ri+ *n #
A(:MiE1,:MiEB)8 E;4>;
A(:MiE1,:Mi)8 1;
A(:MiE1,:MiE1)8 ;4>;

if r*(i,:)88; Fn+(+s p$r*s
A(:Mi,:MiEB)8 Es6rt(B)N:; F*6-i&i%ri+ *n y
A(:Mi,:MiE1)8 Es6rt(B)N:;

*&s* Fn+(+s ip$r*s

A(:Mi,:MiEB)8 s6rt(B)N:; F*6-i&i%ri+ *n #
A(:Mi,:MiE1)8 s6rt(B)N:;

*n(
*n(
/ntroducimos las ecuaciones de los dems nodos
%.1.2. I*t!od+""i)* de a, 0+e!$a, e(te!*a,
En este problema, tenemos dos tipos de fuerzas e2ternas que podr'an actuar
sobre la estructura, fuerzas horizontales % fuerzas verticales. + cada una de
ellas ir asociada un valor % su signo correspondiente.
En nuestro caso hemos determinado que,
E .as fuerzas horizontales hacia la derecha sern positivas, % hacia la
izquierda sern negativas.
E .as fuerzas verticales hacia arriba sern positivas, % hacia abajo sern
negativas.
Fuerzas externas horizontales
fprintf('\n'ns*rt* *& n7*r+ (* f-*r2$s 1+ri2+nt$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ 1+ri2+nt$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s : y L 1$y -n$ f-*r2$
1+ri2+nt$&*s 1$/i$ &$ (*r*/1$ (* K t+n*&$($s y \n+tr$ 1$/i$ &$
i26-i*r($ (* J t+n*&$($s r*sp*/ti.$*nt*P\n');
13
Resolucin de una estructura de barras Mtodos Numricos
fprintf(':\nK\nL\nEJ\n\n');
"81;
En esta primera parte nos aseguramos en primer lugar si e2isten fuerzas
horizontales, % en caso de ser as', se pone la variable "j#3 - para comenzar la
cuenta.
91i&* "=8!
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ 1+ri2+nt$& $p&i/$($
if $=8
A(:M$E1,:MA1) 8 E %; Fn*,$ti.+ p+r6-* p$s$ $& +tr+
i*%r+
*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
En esta parte la introduccin de los datos en la matriz + se realiza siempre %
cuando el valor de "j# (el contador) sea menor o igual a "4# (n!mero de fuerzas
horizontales).
.a introduccin de datos se produce de la siguiente manera,
E 5ebe introducir en primero el nodo en el que ha% aplicada una fuerza
horizontal. Este valor ser almacenado en "a#.
E + continuacin, % en una l'nea distinta, deber introducir el valor
correspondiente a dicha fuerza, teniendo en cuenta el criterio de signos
descrito anteriormente. Este valor ser almacenado en "b#.
Este proceso se repetir hasta que el contador "j# sea igual a "4#.
En caso de introducir un valor de nodo incorrecto el prograa nos lo har saber.

Fuerzas externas verticales
6ara el caso de las fuerzas verticales, la introduccin de los datos por el
usuario, as' como la introduccin de los datos en la matriz, es el mismo que
para las fuerzas horizontales.
fprintf(''ns*rt* *& n7*r+ (* f-*r2$s .*rti/$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
14
Resolucin de una estructura de barras Mtodos Numricos
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ .*rti/$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s 1 y > 1$y -n$s f-*r2$s
.*rti/$&*s 1$/i$ $%$"+ (* 1K y :O t+n*&$($s \nr*sp*/ti.$*nt*P\n');
fprintf('1\nE1K\n>\nE:O\n\n');

"81;
91i&* "=8! F$&$/*n$ *n &$ $tri2 &$s f-*r2$s *#t*rn$s .*rti/$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ .*rti/$& $p&i/$($
if $=8
A(:M$,:MA1) 8 E %; Fn*,$ti.+ p+r6-* p$s$ $& +tr+ i*%r+
*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
%.1.3. Dib+4o de a, 0+e!$a, e(te!*a, ,ob!e a e,t!+"t+!a
Fuerzas externas horizontales
6ara llevar a cabo el dibujo de las fuerzas hemos seguido el siguiente bucle,
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $A;4KC,@: :C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @:4;> :C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @:4;> :C,'/+&+r',',');
p&+t(@$ $A;41C, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,HE%I,'/+&+r',',');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $A;4KC,@1 1C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @14;> 1C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @14;> 1C,'/+&+r',',');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,HE%I,'/+&+r',',');
*n(
*n(

15
Resolucin de una estructura de barras Mtodos Numricos
"8"A1;
*n(
*n(

Con estas funciones lo que hacemos es dibujar, en los nodos que
correspondan % de color verde, una l'nea horizontal % una flecha hacia la
derecha o izquierda en funcin del signo que corresponda.


Fuerzas externas verticales
6ara llevar a cabo el dibujo de las fuerzas hemos seguido el siguiente bucle,
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $C,@: :4BC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @:4:> :4BC,'/+&+r','');
p&+t(@$ $A;41C, @:4B :4:>C,'/+&+r','');
t*#t($A;4;>,:4B, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @:4;> :C,'/+&+r','');
p&+t(@$ $A;41C, @: :4;>C,'/+&+r','');
t*#t($A;4;>,:4B, HE%I,'/+&+r','');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $C,@1 ;4KC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @;4G> 1C,'/+&+r','');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r','');
t*#t($A;4;>,;4K, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @;4K> ;4KC,'/+&+r','');
p&+t(@$ $A;41C, @;4K ;4K>C,'/+&+r','');
t*#t($A;4;>,;4K, HE%I,'/+&+r','');
*n(
*n(

"8"A1;
*n(
*n(

Con estas funciones lo que hacemos es dibujar, en los nodos que
correspondan % de color rosa, una l'nea vertical % una flecha hacia arriba o
hacia abajo en funcin del signo que corresponda.

%.1.5. C!ea"i)* de a mat!i$ de ,i,tema de e"+a"io*e,
fprintf(1,'\nM$tri2 (*& sist*$ (* */-$/i+n*sP\n');
f+r i 8 1 P :M
f+r " 8 1 P :MA1
fprintf(1, 'F1;4Bf', A(i,"));
*n(;
fprintf('\n');
*n(
16
Resolucin de una estructura de barras Mtodos Numricos

%8A(1P:M,:MA1);
M8A(1P:M,1P:M);

)8in.(M)M%;
En este caso hemos utilizado la funcin del matlab para resolver el sistema de
ecuaciones M72 3b, donde,
M, matriz de coeficientes
2, vector de esfuerzos % reacciones (la solucin)
b, vector de fuerzas e2ternas
%.1.16. De,"!ip"i)* de a ,o+"i)*
fprintf(1, '\nEsf-*r2+s *n &$s %$rr$sP\n');
En esta parte del programa se muestra el vector de esfuerzos % reacciones de
la estructura, es decir, la solucin.
Axiles (o esfuerzos)
f+r ' 8 1 P :MEB
fprintf(1,'FBs', 'N'); FA)'LES
if r*(',:)881
fprintf(1,'F14;f',('A1)N:);
fprintf(1,'F14;f',('AB)N:);
*&s*
fprintf(1,'F14;f','N:);
fprintf(1,'F14;f','N:A:);
*n(
fprintf(1,'FJ4:f', )('));
fprintf(1, '\n');
*n(
En esta parte el programa nos muestra el valor de los a2iles mediante una "N# a
la que acompa8an dos n!meros. Estos n!meros indican los nodos, es decir, el
a2il N-0 es el a2il de la barra entre los nodos - % 0.
Reacciones
fprintf(1, '\nR*$//i+n*sP\n');
fprintf(1,'FLs', 'R1'); FREACC'ONES
fprintf(1,'FJ4:f', )(:ME:));
fprintf(1, '\n');
fprintf(1,'FLs', 'S1');
fprintf(1,'FJ4:f', )(:ME1));
fprintf(1, '\n');
fprintf(1,'FBs', 'S');
17
Resolucin de una estructura de barras Mtodos Numricos
fprintf(1,'F14;f',);
fprintf(1,'FJ4:f', )(:M));
fprintf(1, '\n');

9enemos que tener en cuenta que las reacciones siempre sern como m2imo
*, dos de ellas pertenecen al apo%o fijo (una vertical % otra horizontal) % la otra
pertenece al apo%o mvil (reaccin horizontal).
:e corresponden con los tres !ltimos valores del vector ; donde,
H1 es igual a X(2*m-2)
V1 es igual a X(2*m-1)
Vm es igual a X(2*m)
En esta !ltima parte se hace una breve e2plicacin sobre los resultados
obtenidos.
fprintf(1, '\nL+s *sf-*r2+s n*,$ti.+s si,nifi/$n /+pr*si3n, i*ntr$s
6-* &+s p+siti.+s, tr$//i3n4\n');
fprintf(1, 'R1 *s &$ r*$//i3n 1+ri2+nt$& *n *& n+(+ 1 (p+siti.$ 1$/i$
&$ (*r*/1$)\n');
fprintf(1, 'S1 *s &$ r*$//i3n .*rti/$& *n *& n+(+ 1 (p+siti.$ 1$/i$
$rri%$)\n');
fprintf(1, 'S');
fprintf(1, 'F14;f', );
fprintf(1, ' *s &$ r*$//i3n .*rti/$& *n *& n+(+ ');
fprintf(1, 'F14;f', );
fprintf(1,' (p+siti.$ 1$/i$ $rri%$)');
%.1.11. Dib+4o de o, e,0+e!$o, 7 !ea""io*e, ,ob!e a e,t!+"t+!a
En este apartado copiaremos la figura inicial para crear una nueva figura, % a
continuacin introduciremos en ella los resultados obtenidos.
18fi,-r* (:);

tit&*('ES?UERTOS');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;


FD'UUVO DE LA ESTRUCTURA
i8;
91i&* iD8>;F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >
#8@i iE1C;F/++r(in$($s # (* 1 &in*$
y8@1 :C;F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y);
t*#t(iE;4;>,;4G,HiI);Fn-*r+ (*& n+(+
t*#t(iE14;>,14G,HiE1I);Fn-*r+ (*& n+(+
18
Resolucin de una estructura de barras Mtodos Numricos
#8@i iE:C;
y8@1 1C;
p&+t(#,y);
#8@iE1 iE:C;
y8@: 1C;
p&+t(#,y);
#8@iE1 iEBC;
y8@: :C;
p&+t(#,y);
i8iE:;
*n(;

#8@1 BC;Fr*$&i2$ &$s &in*$s (*& pri*r tri5n,-&+ (%$rr$s 1$st$ *&
n+(+B)
y8@1 1C;
p&+t(#,y);
#8@1 :C;
y8@1 :C;
p&+t(#,y);
#8@: BC;
y8@: 1C;
p&+t(#,y);
t*#t(;4G>,;4G,'1');
t*#t(14G>,14G,':');
t*#t(:4G>,;4G,'B');

#8@1 141>C;F$p+y+ (*& n+(+ 1
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);

#8@ A;41>C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
#8@ E;41>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41> A;41>C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>,;4JL,'\+');
t*#t(A;4;>,;4JL,'\+');
#8@E;4:> A;4:>C;
y8@;4J1 ;4J1C;
p&+t(#,y);

<asta este punto lo que se ha hecho es crear la nueva figura 0, dibujando de
nuevo la estructura inicial.
f+r$t s1+rt;
i 8 1;
91i&* i =8 :MEB
if )(i)D;
19
Resolucin de una estructura de barras Mtodos Numricos
t*#t(iN:A;4G>,14>,H)(i)I,'/+&+r',',');
*&s*
t*#t(iN:A;4G>,14>,H)(i)I,'/+&+r','');
*n(
i 8 iA:;
*n(


i 8 :;
91i&* i =8 :MEL
if )(i)D;
t*#t(iN:A;4G>,14;>,H)(i)I,'/+&+r',',');
*&s*
t*#t(iN:A;4G>,14;>,H)(i)I,'/+&+r','');
*n(
i 8 iAL;
*n(


i 8 L;
91i&* i =8 :MEO
if )(i)D;
t*#t(iN:A;4G>,:4;>,H)(i)I,'/+&+r',',');
*&s*
t*#t(iN:A;4G>,:4;>,H)(i)I,'/+&+r','');
*n(
i 8 iAL;
*n(

Con esto hemos introducido el valor de los a2iles sobre la nueva figura 0.

f+r$t s1+rt;

p&+t (@;4> 1C,@1 1C, '/+&+r','/'); FR1
if )(:ME:)D;
p&+t(@;4G 1C, @14;> 1C, '/+&+r','/');
p&+t(@1 ;4GC, @1 ;4G>C, '/+&+r','/');
t*#t(;4>, 14;>,H)(:ME:)I,'/+&+r','/');
*&s*
p&+t(@;4O ;4>C,@14;> 1C, '/+&+r','/');
p&+t(@;4> ;4OC,@1 ;4G>C, '/+&+r','/');
t*#t(;4>, 14;>,HE)(:ME:)I,'/+&+r','/');
*n(

p&+t(@1 1C,@;4K 1C, '/+&+r','/'); FS1
if )(:ME1)D;
p&+t(@;4G 1C,@;4G> 1C, '/+&+r','/');
p&+t(@1 141C,@1 ;4G>C, '/+&+r','/');
t*#t(14;>, ;4K, H)(:ME1)I,'/+&+r','/');
*&s*
p&+t(@;4G 1C,@;4K> ;4KC, '/+&+r','/');
p&+t(@1 141C,@;4K ;4K>C, '/+&+r','/');
t*#t(14;>, ;4K,HE)(:ME1)I, '/+&+r','/');
*n(

p&+t (@ C,@;4K 1C,'/+&+r','/'); FS
if )(:M)D1
p&+t(@E;41 C,@;4G> 1C, '/+&+r','/');
p&+t(@ A;41C,@1 ;4G>C, '/+&+r','/');
20
Resolucin de una estructura de barras Mtodos Numricos
t*#t(A;4;>, ;4K, H)(:M)I,'/+&+r','/');
*&s*
p&+t(@E;41 C,@;4K> ;4KC, '/+&+r','/');
p&+t(@ A;41C,@;4K ;4K>C, '/+&+r','/');
t*#t(A;4;>, ;4K,HE)(:M)I, '/+&+r','/');
*n(

%.1.12. Ama"e*amie*to de dato, e* +* 0i"8e!o
$na vez obtenidos los resultados daremos al usuario la opcin de guardar los
datos en un fichero o simplemente terminar.
fprintf(1,'\n\n14 WD*s*$ ,-$r($r *& r*s-&t$(+ *n -n fi/1*r+X\n');
F,-$r($r *n fi/1*r+
fprintf(1,':4 T*rin$r\n');
fprintf(1,'Es/ri%$ 1 + :P\n');
AA 8 inp-t(' ');
if AA 88 1
fprintf(1,'Es/ri%$ *& n+%r* (*& fi/1*r+ (* &$ f+r$ E
(is/+P\\n+%r*4*#t\n');
fprintf(1,'p+r *"*p&+P AP\\DATA4DTA\n');
NAME 8 inp-t(' ','s');
OUP 8 f+p*n(NAME,'9t');


fprintf(OUP, '\nEsf-*r2+s *n &$s %$rr$sP\n\n');

f+r ' 8 1 P :MEB
fprintf(OUP,'FBs', 'N'); FA)'LES
if r*(',:)881
fprintf(OUP,'F14;f',('A1)N:);
fprintf(OUP,'F14;f',('AB)N:);
*&s*
fprintf(OUP,'F14;f','N:);
fprintf(OUP,'F14;f','N:A:);
*n(
fprintf(OUP,'FJ4:f', )('));
fprintf(OUP, '\n');
*n(

fprintf(OUP, '\n\nR*$//i+n*sP\n\n');
fprintf(OUP,'FLs', 'R1'); FREACC'ONES
fprintf(OUP,'FJ4:f', )(:ME:));
fprintf(OUP, '\n');
fprintf(OUP,'FLs', 'S1');
fprintf(OUP,'FJ4:f', )(:ME1));
fprintf(OUP, '\n');
21
Resolucin de una estructura de barras Mtodos Numricos
fprintf(OUP,'FBs', 'S');
fprintf(OUP,'F14;f',);
fprintf(OUP,'FJ4:f', )(:M));

fprintf(OUP, '\n\nL+s *sf-*r2+s n*,$ti.+s, si,nifi/$n /+pr*si3n,
i*ntr$s 6-* &+s p+siti.+s, tr$//i3n4\n');
fprintf(OUP, 'R1 *s &$ r*$//i3n 1+ri2+nt$& *n *& n+(+ 1 (p+siti.$
1$/i$ &$ (*r*/1$)\n');
fprintf(OUP, 'S1 *s &$ r*$//i3n .*rti/$& *n *& n+(+ 1 (p+siti.$
1$/i$ $rri%$)\n');
fprintf(OUP, 'S');
fprintf(OUP, 'F14;f', );
fprintf(OUP, ' *s &$ r*$//i3n .*rti/$& *n *& n+(+ ');
fprintf(OUP, 'F14;f', );
fprintf(OUP, ' (p+siti.$ 1$/i$ $rri%$)');
f/&+s*(OUP);
fprintf(1,'?i/1*r+ (* s$&i($ Fs /r*$(+ /+n *#it+ \n',NAME);
*n(;
Mediante este algoritmo se tiene en cuenta lo siguiente,
E :i el usuario introduce un "0# simplemente se termina.
E :i el usuario introduce un "-#, se da la posibilidad de generar un fichero
para almacenar los datos.
%.2. A#o!itmo
fprintf(1,'\n\n_______________________________________________________
_____________________________________________\n\n');
fprintf(1,' PROGRAMA DE CALCULO DE LA ESTRUCTURA
DE UN PUENTE\n');
fprintf(1,'___________________________________________________________
_________________________________________\n\n\n');

Fn+%r$r &$s .$ri$%&*s
sys('','!','i','"','#','y','$','%','&','AREA');
sys(''NP','NAME','fi(','A',')');


fprintf(1,'Est* pr+,r$$ r*s-*&.* &$ *str-/t-r$ (* -n p-*nt* p+r *&
M0t+(+ (* C+p$ti%i&i($(, 1$/i*n(+\n');
fprintf(1,'-s+ (* &$ f$/t+ri2$/i3n LU p$r$ r*s+&.*r *& sist*$ (*
*/-$/i+n*s4\n');
fprintf(1,'L$s %$rr$s (* &$ *str-/t-r$ t*n(r5n t+($s &$ is$
&+n,it-(, f+r5n(+s* *ntr* *&&$s tri5n,-&+s \n*6-i&5t*r+s\n\n')
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+ ip$r
$y+r 6-* /in/+)\n');
8 inp-t(' ');

91i&* r*(,:)88; << => F/+n *st+ n+s $s*,-r$+s (* 6-* *s ip$r y
$y+r 6-* >
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+
ip$r $y+r 6-* /in/+)\n');
8 inp-t(' ');
*n(
22
Resolucin de una estructura de barras Mtodos Numricos

i8;

TRUE 8 1;
?ALSE 8 ;;
/&+s*;F/i*rr$ &$s p$nt$&&$s $nt*ri+r*s

tit&*('Estr-/t-r$ (*& p-*nt*');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;


FD'UUVO DE LA ESTRUCTURA
91i&* iD8>;F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >
#8@i iE1C;F/++r(in$($s # (* 1 &in*$
y8@1 :C;F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y);
t*#t(iE;4;>,;4G,HiI);Fn-*r+ (*& n+(+
t*#t(iE14;>,14G,HiE1I);Fn-*r+ (*& n+(+
#8@i iE:C;
y8@1 1C;
p&+t(#,y);
#8@iE1 iE:C;
y8@: 1C;
p&+t(#,y);
#8@iE1 iEBC;
y8@: :C;
p&+t(#,y);
i8iE:;
*n(;

#8@1 BC;Fr*$&i2$ &$s &in*$s (*& pri*r tri5n,-&+ (%$rr$s 1$st$ *&
n+(+B)
y8@1 1C;
p&+t(#,y);
#8@1 :C;
y8@1 :C;
p&+t(#,y);
#8@: BC;
y8@: 1C;
p&+t(#,y);
t*#t(;4G>,;4G,'1');
t*#t(14G>,14G,':');
t*#t(:4G>,;4G,'B');

#8@1 141>C;F$p+y+ (*& n+(+ 1
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);

#8@ A;41>C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
23
Resolucin de una estructura de barras Mtodos Numricos
#8@ E;41>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41> A;41>C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>,;4JL,'\+');
t*#t(A;4;>,;4JL,'\+');
#8@E;4:> A;4:>C;
y8@;4J1 ;4J1C;
p&+t(#,y);



FRESOLUC'YN DEL PROULEMA


FCr*$+s &$ $tri2 A, (+n(* .$+s $ ins*rt$r *& sist*$ (* */-$/i+n*s
p$r$ &-*,+ r*s+&.*r p+r *& 0t+(+ LU4

A 8 2*r+s(:M,:MA1);

Fintr+(-/i+s &$s */-$/i+n*s (*& n+(+ 1P
A(1,1)8 ;4>; F*n #
A(1,:)8 1;
A(1,:ME:)8 1;
A(:,1)8 s6rt(B)N:; F*n y
A(:,:ME1)8 1;

Fintr+(-/i+s &$s */-$/i+n*s (*& n+(+ :P
A(B,1)8 E;4>;
A(B,B)8 ;4>;
A(B,L)8 1;
A(L,1)8 Es6rt(B)N:;
A(L,B)8 Es6rt(B)N:;

Fintr+(-/i+s &$s */-$/i+n*s (*& n+(+ E1P
A(:MEB,:MEO)8 E1;
A(:MEB,:ME>)8 E;4>;
A(:MEB,:MEB)8 ;4>;
A(:ME:,:ME>)8 Es6rt(B)N:;
A(:ME:,:MEB)8 Es6rt(B)N:;

Fintr+(-/i+s &$s */-$/i+n*s (*& n+(+ P
A(:ME1,:MEL)8 E1;
A(:ME1,:MEB)8 E;4>;
A(:M,:MEB)8 s6rt(B)N:;
A(:M,:M)8 1;


Fintr+(-/i+s &$s */-$/i+n*s (* &+s (*5s n+(+sP
f+r i 8 B P E:

A(:MiE1,:MiEL)8 E1; F*6-i&i%ri+ *n #
A(:MiE1,:MiEB)8 E;4>;
A(:MiE1,:Mi)8 1;
A(:MiE1,:MiE1)8 ;4>;

if r*(i,:)88; Fn+(+s p$r*s
A(:Mi,:MiEB)8 Es6rt(B)N:; F*6-i&i%ri+ *n y
A(:Mi,:MiE1)8 Es6rt(B)N:;
24
Resolucin de una estructura de barras Mtodos Numricos

*&s* Fn+(+s ip$r*s

A(:Mi,:MiEB)8 s6rt(B)N:; F*6-i&i%ri+ *n #
A(:Mi,:MiE1)8 s6rt(B)N:;

*n(
*n(



F?UERTAS E)TERNAS

fprintf('\n'ns*rt* *& n7*r+ (* f-*r2$s 1+ri2+nt$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ 1+ri2+nt$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s : y L 1$y -n$ f-*r2$
1+ri2+nt$&*s 1$/i$ &$ (*r*/1$ (* K t+n*&$($s y \n+tr$ 1$/i$ &$
i26-i*r($ (* J t+n*&$($s r*sp*/ti.$*nt*P\n');
fprintf(':\nK\nL\nEJ\n\n');

"81;
91i&* "=8! F$&$/*n$ *n &$ $tri2 &$s f-*r2$s *#t*rn$s
1+ri2+nt$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ 1+ri2+nt$& $p&i/$($
if $=8
A(:M$E1,:MA1) 8 E %; Fn*,$ti.+ p+r6-* p$s$ $& +tr+
i*%r+


F(i%-"$+s &$s f-*r2$sP
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $A;4KC,@: :C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @:4;> :C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @:4;> :C,'/+&+r',',');
p&+t(@$ $A;41C, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,HE%I,'/+&+r',',');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $A;4KC,@1 1C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @14;> 1C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @14;> 1C,'/+&+r',',');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,HE%I,'/+&+r',',');
*n(
*n(

25
Resolucin de una estructura de barras Mtodos Numricos
"8"A1;
*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
*n(
*n(



F?UERTAS SERT'CALES
fprintf(''ns*rt* *& n7*r+ (* f-*r2$s .*rti/$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ .*rti/$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s 1 y > 1$y -n$s f-*r2$s
.*rti/$&*s 1$/i$ $%$"+ (* 1K y :O t+n*&$($s \nr*sp*/ti.$*nt*P\n');
fprintf('1\nE1K\n>\nE:O\n\n');

"81;
91i&* "=8! F$&$/*n$ *n &$ $tri2 &$s f-*r2$s *#t*rn$s .*rti/$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ .*rti/$& $p&i/$($
if $=8
A(:M$,:MA1) 8 E %; Fn*,$ti.+ p+r6-* p$s$ $& +tr+ i*%r+

F(i%-"$+s &$s f-*r2$sP
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $C,@: :4BC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @:4:> :4BC,'/+&+r','');
p&+t(@$ $A;41C, @:4B :4:>C,'/+&+r','');
t*#t($A;4;>,:4B, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @:4;> :C,'/+&+r','');
p&+t(@$ $A;41C, @: :4;>C,'/+&+r','');
t*#t($A;4;>,:4B, HE%I,'/+&+r','');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $C,@1 ;4KC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @;4G> 1C,'/+&+r','');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r','');
t*#t($A;4;>,;4K, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @;4K> ;4KC,'/+&+r','');
p&+t(@$ $A;41C, @;4K ;4K>C,'/+&+r','');
t*#t($A;4;>,;4K, HE%I,'/+&+r','');
*n(
*n(

"8"A1;
*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
*n(
26
Resolucin de una estructura de barras Mtodos Numricos
*n(



fprintf(1,'\nM$tri2 (*& sist*$ (* */-$/i+n*sP\n');
f+r i 8 1 P :M
f+r " 8 1 P :MA1
fprintf(1, 'F1;4Bf', A(i,"));
*n(;
fprintf('\n');
*n(

%8A(1P:M,:MA1);
M8A(1P:M,1P:M);

)8in.(M)M%;

fprintf(1, '\nEsf-*r2+s *n &$s %$rr$sP\n');

f+r ' 8 1 P :MEB
fprintf(1,'FBs', 'N'); FA)'LES
if r*(',:)881
fprintf(1,'F14;f',('A1)N:);
fprintf(1,'F14;f',('AB)N:);
*&s*
fprintf(1,'F14;f','N:);
fprintf(1,'F14;f','N:A:);
*n(
fprintf(1,'FJ4:f', )('));
fprintf(1, '\n');
*n(
fprintf(1, '\nR*$//i+n*sP\n');
fprintf(1,'FLs', 'R1'); FREACC'ONES
fprintf(1,'FJ4:f', )(:ME:));
fprintf(1, '\n');
fprintf(1,'FLs', 'S1');
fprintf(1,'FJ4:f', )(:ME1));
fprintf(1, '\n');
fprintf(1,'FBs', 'S');
fprintf(1,'F14;f',);
fprintf(1,'FJ4:f', )(:M));
fprintf(1, '\n');

fprintf(1, '\nL+s *sf-*r2+s n*,$ti.+s si,nifi/$n /+pr*si3n, i*ntr$s
6-* &+s p+siti.+s, tr$//i3n4\n');
fprintf(1, 'R1 *s &$ r*$//i3n 1+ri2+nt$& *n *& n+(+ 1 (p+siti.$ 1$/i$
&$ (*r*/1$)\n');
fprintf(1, 'S1 *s &$ r*$//i3n .*rti/$& *n *& n+(+ 1 (p+siti.$ 1$/i$
$rri%$)\n');
fprintf(1, 'S');
fprintf(1, 'F14;f', );
fprintf(1, ' *s &$ r*$//i3n .*rti/$& *n *& n+(+ ');
fprintf(1, 'F14;f', );
fprintf(1,' (p+siti.$ 1$/i$ $rri%$)');




FD'UULAR LA SOLUC'ONP

18fi,-r* (:);
27
Resolucin de una estructura de barras Mtodos Numricos

tit&*('ES?UERTOS');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;


FD'UUVO DE LA ESTRUCTURA
i8;
91i&* iD8>;F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >
#8@i iE1C;F/++r(in$($s # (* 1 &in*$
y8@1 :C;F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y);
t*#t(iE;4;>,;4G,HiI);Fn-*r+ (*& n+(+
t*#t(iE14;>,14G,HiE1I);Fn-*r+ (*& n+(+
#8@i iE:C;
y8@1 1C;
p&+t(#,y);
#8@iE1 iE:C;
y8@: 1C;
p&+t(#,y);
#8@iE1 iEBC;
y8@: :C;
p&+t(#,y);
i8iE:;
*n(;

#8@1 BC;Fr*$&i2$ &$s &in*$s (*& pri*r tri5n,-&+ (%$rr$s 1$st$ *&
n+(+B)
y8@1 1C;
p&+t(#,y);
#8@1 :C;
y8@1 :C;
p&+t(#,y);
#8@: BC;
y8@: 1C;
p&+t(#,y);
t*#t(;4G>,;4G,'1');
t*#t(14G>,14G,':');
t*#t(:4G>,;4G,'B');

#8@1 141>C;F$p+y+ (*& n+(+ 1
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);

#8@ A;41>C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
#8@ E;41>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41> A;41>C;
y8@;4J> ;4J>C;
28
Resolucin de una estructura de barras Mtodos Numricos
p&+t(#,y);
t*#t(E;41>,;4JL,'\+');
t*#t(A;4;>,;4JL,'\+');
#8@E;4:> A;4:>C;
y8@;4J1 ;4J1C;
p&+t(#,y);


FEs/ri%i+s &+s $#i&*sP

f+r$t s1+rt;
i 8 1;
91i&* i =8 :MEB
if )(i)D;
t*#t(iN:A;4G>,14>,H)(i)I,'/+&+r',',');
*&s*
t*#t(iN:A;4G>,14>,H)(i)I,'/+&+r','');
*n(
i 8 iA:;
*n(


i 8 :;
91i&* i =8 :MEL
if )(i)D;
t*#t(iN:A;4G>,14;>,H)(i)I,'/+&+r',',');
*&s*
t*#t(iN:A;4G>,14;>,H)(i)I,'/+&+r','');
*n(
i 8 iAL;
*n(


i 8 L;
91i&* i =8 :MEO
if )(i)D;
t*#t(iN:A;4G>,:4;>,H)(i)I,'/+&+r',',');
*&s*
t*#t(iN:A;4G>,:4;>,H)(i)I,'/+&+r','');
*n(
i 8 iAL;
*n(


FDi%-"$+s &$s r*$//i+n*sP
f+r$t s1+rt;

p&+t (@;4> 1C,@1 1C, '/+&+r','/'); FR1
if )(:ME:)D;
p&+t(@;4G 1C, @14;> 1C, '/+&+r','/');
p&+t(@1 ;4GC, @1 ;4G>C, '/+&+r','/');
t*#t(;4>, 14;>,H)(:ME:)I,'/+&+r','/');
*&s*
p&+t(@;4O ;4>C,@14;> 1C, '/+&+r','/');
p&+t(@;4> ;4OC,@1 ;4G>C, '/+&+r','/');
t*#t(;4>, 14;>,HE)(:ME:)I,'/+&+r','/');
*n(

p&+t(@1 1C,@;4K 1C, '/+&+r','/'); FS1
if )(:ME1)D;
p&+t(@;4G 1C,@;4G> 1C, '/+&+r','/');
29
Resolucin de una estructura de barras Mtodos Numricos
p&+t(@1 141C,@1 ;4G>C, '/+&+r','/');
t*#t(14;>, ;4K, H)(:ME1)I,'/+&+r','/');
*&s*
p&+t(@;4G 1C,@;4K> ;4KC, '/+&+r','/');
p&+t(@1 141C,@;4K ;4K>C, '/+&+r','/');
t*#t(14;>, ;4K,HE)(:ME1)I, '/+&+r','/');
*n(

p&+t (@ C,@;4K 1C,'/+&+r','/'); FS
if )(:M)D1
p&+t(@E;41 C,@;4G> 1C, '/+&+r','/');
p&+t(@ A;41C,@1 ;4G>C, '/+&+r','/');
t*#t(A;4;>, ;4K, H)(:M)I,'/+&+r','/');
*&s*
p&+t(@E;41 C,@;4K> ;4KC, '/+&+r','/');
p&+t(@ A;41C,@;4K ;4K>C, '/+&+r','/');
t*#t(A;4;>, ;4K,HE)(:M)I, '/+&+r','/');
*n(

fprintf(1,'\n\n14 WD*s*$ ,-$r($r *& r*s-&t$(+ *n -n fi/1*r+X\n');
F,-$r($r *n fi/1*r+
fprintf(1,':4 T*rin$r\n');
fprintf(1,'Es/ri%$ 1 + :P\n');
AA 8 inp-t(' ');
if AA 88 1
fprintf(1,'Es/ri%$ *& n+%r* (*& fi/1*r+ (* &$ f+r$ E
(is/+P\\n+%r*4*#t\n');
fprintf(1,'p+r *"*p&+P AP\\DATA4DTA\n');
NAME 8 inp-t(' ','s');
OUP 8 f+p*n(NAME,'9t');


fprintf(OUP, '\nEsf-*r2+s *n &$s %$rr$sP\n\n');

f+r ' 8 1 P :MEB
fprintf(OUP,'FBs', 'N'); FA)'LES
if r*(',:)881
fprintf(OUP,'F14;f',('A1)N:);
fprintf(OUP,'F14;f',('AB)N:);
*&s*
fprintf(OUP,'F14;f','N:);
fprintf(OUP,'F14;f','N:A:);
*n(
fprintf(OUP,'FJ4:f', )('));
fprintf(OUP, '\n');
*n(

fprintf(OUP, '\n\nR*$//i+n*sP\n\n');
fprintf(OUP,'FLs', 'R1'); FREACC'ONES
fprintf(OUP,'FJ4:f', )(:ME:));
fprintf(OUP, '\n');
fprintf(OUP,'FLs', 'S1');
fprintf(OUP,'FJ4:f', )(:ME1));
fprintf(OUP, '\n');
fprintf(OUP,'FBs', 'S');
fprintf(OUP,'F14;f',);
fprintf(OUP,'FJ4:f', )(:M));

fprintf(OUP, '\n\nL+s *sf-*r2+s n*,$ti.+s, si,nifi/$n /+pr*si3n,
i*ntr$s 6-* &+s p+siti.+s, tr$//i3n4\n');
30
Resolucin de una estructura de barras Mtodos Numricos
fprintf(OUP, 'R1 *s &$ r*$//i3n 1+ri2+nt$& *n *& n+(+ 1 (p+siti.$
1$/i$ &$ (*r*/1$)\n');
fprintf(OUP, 'S1 *s &$ r*$//i3n .*rti/$& *n *& n+(+ 1 (p+siti.$
1$/i$ $rri%$)\n');
fprintf(OUP, 'S');
fprintf(OUP, 'F14;f', );
fprintf(OUP, ' *s &$ r*$//i3n .*rti/$& *n *& n+(+ ');
fprintf(OUP, 'F14;f', );
fprintf(OUP, ' (p+siti.$ 1$/i$ $rri%$)');
f/&+s*(OUP);
fprintf(1,'?i/1*r+ (* s$&i($ Fs /r*$(+ /+n *#it+ \n',NAME);
*n(;
%.3. E(pi"a"i)* de Mtodo Di!e"to de a Ri#ide$
%.3.1. I*t!od+""i)* de e*"abe$ado
fprintf(1,'\n\n_______________________________________________________
_____________________________________________\n\n');
fprintf(1,' PROGRAMA DE CALCULO DE LA ESTRUCTURA
DE UN PUENTE\n');
fprintf(1,'___________________________________________________________
_________________________________________\n\n\n');

Con esto se consigue introducir un encabezado en el cual se hace referencia al
tipo de ejercicio que se va a realizar a continuacin.
%.3.2. I*t!od+""i)* de a, -a!iabe,
sys('','!','i','"','#','y','$','%','&','AREA');
sys('?','MRG');
sys(''NP','NAME','fi(');
En nuestro caso, disponemos de varias variables, la ms destacada es el
n!mero de nodos de la estructura, a la cual le corresponde una "m#.
%.3.3. I*t!od+""i)* de +*a b!e-e e(pi"a"i)*
fprintf(1,'Est* pr+,r$$ r*s-*&.* &$ *str-/t-r$ (* -n p-*nt* p+r *&
M0t+(+ Dir*/t+ (* &$ Ri,i(*24\n');
fprintf(1,'L$s %$rr$s (* &$ *str-/t-r$ t*n(r5n t+($s &$ is$
&+n,it-(, f+r5n(+s* *ntr* *&&$s tri5n,-&+s \n*6-i&5t*r+s\n\n');
%.3.%. Le"t+!a de dato,
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+ ip$r
$y+r 6-* /in/+)\n');
31
Resolucin de una estructura de barras Mtodos Numricos
8 inp-t(' ');
En este caso, hemos utilizado la funcin "fprintf# con la cual, aparecer en
pantalla que el usuario debe introducir el numero de nodos que desea.
$na vez introducido, ser almacenado como variable "m#.

91i&* r*(,:)88; << =>
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+
ip$r $y+r 6-* /in/+)\n');
8 inp-t(' ');
*n(

i8;

Con esta funcin nos aseguramos que la variable "m#, que corresponde al
n!mero de nodos, sea impar % ma%or de &, %a que as' ser'an las condiciones
m'nimas para una estructura de este tipo.
TRUE 8 1;
?ALSE 8 ;;
/&+s* $&&;
$na vez que se cumple la condicin propuesta, se hace un cambio de variable
(se introduce el valor de "m# en "i#) % se cierran las pantallas anteriores.
%.3... I*t!od+""i)* de a #!/0i"a
18fi,-r* (1);
tit&*('Estr-/t-r$ (*& p-*nt*');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;

Con esto determinamos los ejes de la grfica % la mantenemos para ir
introduciendo los datos posteriormente.
En esta parte se procede al dibujo de la estructura, teniendo en cuenta que
siempre va a dibujarse una estructura m'nima compuesta por un tringulo
equiltero, * nodos % * barras. + partir de esta estructura base, se ir
aumentando el numero de barras en funcin de el n!mero de nodos
introducidos por el usuario, mediante la misma secuencia.
Con lo cual, tenemos lo siguiente,
91i&* iD8>;F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >
#8@i iE1C;F/++r(in$($s # (* 1 &in*$
y8@1 :C;F/++r(*n$($s y (* -n$ &in*$
32
Resolucin de una estructura de barras Mtodos Numricos
p&+t(#,y);
t*#t(iE;4;>,;4G,HiI);
t*#t(iE14;>,14G,HiE1I);
#8@i iE:C;
y8@1 1C;
p&+t(#,y);
#8@iE1 iE:C;
y8@: 1C;
p&+t(#,y);
#8@iE1 iEBC;
y8@: :C;
p&+t(#,y);
i8iE:;
*n(;

Mediante esta funcin dibujaremos las barras que aumentan la estructura con
cada par de nodos ma%or que &.
#8@1 BC;
y8@1 1C;
p&+t(#,y);
#8@1 :C;
y8@1 :C;
p&+t(#,y);
#8@: BC;
y8@: 1C;
p&+t(#,y);
t*#t(;4G>,;4G,'1');
t*#t(14G>,14G,':');
t*#t(:4G>,;4G,'B');
Mediante esta funcin, dibujaremos las l'neas correspondientes al primer
tringulo, es decir, las barras hasta el nodo *.

#8@1 141>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);
Con esta funcin realizamos el dibujo que corresponde al apo%o del nodo -,
que se trata de un apo%o fijo.

#8@ A;41>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@ E;41>C;
33
Resolucin de una estructura de barras Mtodos Numricos
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41> A;41>C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>,;4JL,'\+');
t*#t(A;4;>,;4JL,'\+');
#8@E;4:> A;4:>C;
y8@;4J1 ;4J1C;
p&+t(#,y);
Con esta funcin realizamos el dibujo que corresponde al apo%o del nodo m,
que se trata de un apo%o mvil.
%.3.1. Le"t+!a de dato,

fprintf(''ns*rt* &$ &+n,it-( (* &$s %$rr$s (*n /)\n');
& 8 inp-t(' ');
fprintf(''ns*rt* *& 5r*$ (* &$s %$rr$s (*n /:)\n');
AREA 8 inp-t(' ');
fprintf('WD*s*$ 6-* *& 3(-&+ (* *&$sti/i($( -s$(+ s*$ E 8 :1;;
t+nN/:X\n');
fprintf('Es/ri%$ (Z) ; (N)\n');
AA 8 inp-t(' ','s');

if AA 88 'Z' < AA 88 'y'
E 8 :1;;;
*&s*
fprintf('\nEs/ri%$ *& .$&+r (*& 3(-&+ (* *&$sti/i($( 6-* (*s*$
$p&i/$r (*n t+nN/:)\n');
E 8 inp-t('');
*n(

En este apartado se realiza la introduccin de datos relacionados con la
estructura as' como el rea, la longitud % el mdulo de elasticidad, que ser
igual para cada una de las barras.
El usuario !nicamente introduce los datos de la longitud % rea. 6or defecto se
tomar como mdulo de elasticidad 0-== ton>cm
0
, %a que pertenece al del
acero, pero se le da la opcin al usuario de modificarlo. <a de tenerse en
cuenta que el valor que se introduzca debe estar en las unidades que
corresponden (ton>cm
0
).

%.3.2. C/"+o de a Mat!i$ de Ri#ide$ 'oba 9M.R.'.:
En este paso se introducen las Matrices de ?igidez Elemental de cada barra en
una matriz que ser la Matriz de ?igidez @lobal (M.?.@.)
.o que hemos tenido en cuenta a la hora de elaborar este algoritmo es que,
seg!n los ngulos, la estructura del puente tiene tres tipos de barra.
E Aarras de tipo -, aquellas que forman un ngulo de B=C con la horizontal
34
Resolucin de una estructura de barras Mtodos Numricos
"8B; F/+nt$(+r (* %$rr$s
91i&* "=8(:MEK)
MRG(",")8MRG(",")A;4:>;Fintr+(-/i+s &$ MRE p+r /$($ %$rr$4
MRG(","A1)8MRG(","A1)A;4LBB;
MRG(","A:)8MRG(","A:)E;4:>;
MRG(","AB)8MRG(","AB)E;4LBB;

MRG("A1,")8MRG("A1,")A;4LBB;
MRG("A1,"A1)8MRG("A1,"A1)A;4K>;
MRG("A1,"A:)8MRG("A1,"A:)E;4LBB;
MRG("A1,"AB)8MRG("A1,"AB)E;4K>;

MRG("A:,")8MRG("A:,")E;4:>;
MRG("A:,"A1)8MRG("A:,"A1)E;4LBB;
MRG("A:,"A:)8MRG("A:,"A:)A;4:>;
MRG("A:,"AB)8MRG("A:,"AB)A;4LBB;

MRG("AB,")8MRG("AB,")E;4LBB;
MRG("AB,"A1)8MRG("AB,"A1)E;4K>;
MRG("AB,"A:)8MRG("AB,"A:)A;4LBB;
MRG("AB,"AB)8MRG("AB,"AB)A;4K>;

"8"AL;
*n(;
E Aarras de tipo 0, aquellas que forman un ngulo de =C con la horizontal
"8:; F/+nt$(+r (* %$rr$s
91i&* "=8(:MEJ)

MRG("E1,"E1)8MRG("E1,"E1)A1;
MRG("E1,"A>)8MRG("E1,"AB)E1;

MRG("AB,"E1)8MRG("AB,"E1)E1;
MRG("AB,"AB)8MRG("AB,"AB)A1;

"8"A:;
*n(;

E Aarras de tipo *, aquellas que forman un ngulo de 1B=C con la
horizontal
"81; F/+nt$(+r (* %$rr$s
91i&* "=8(:MEG)
MRG(",")8MRG(",")A;4:>;Fintr+(-/i+s &$ MRE p+r /$($ %$rr$
MRG(","A1)8MRG(","A1)E;4LBB;
MRG(","A:)8MRG(","A:)E;4:>;
MRG(","AB)8MRG(","AB)A;4LBB;

MRG("A1,")8MRG("A1,")E;4LBB;
MRG("A1,"A1)8MRG("A1,"A1)A;4K>;
MRG("A1,"A:)8MRG("A1,"A:)A;4LBB;
MRG("A1,"AB)8MRG("A1,"AB)E;4K>;
35
Resolucin de una estructura de barras Mtodos Numricos

MRG("A:,")8MRG("A:,")E;4:>;
MRG("A:,"A1)8MRG("A:,"A1)A;4LBB;
MRG("A:,"A:)8MRG("A:,"A:)A;4:>;
MRG("A:,"AB)8MRG("A:,"AB)E;4LBB;

MRG("AB,")8MRG("AB,")A;4LBB;
MRG("AB,"A1)8MRG("AB,"A1)E;4K>;
MRG("AB,"A:)8MRG("AB,"A:)E;4LBB;
MRG("AB,"AB)8MRG("AB,"AB)A;4K>;

"8"AL;
*n(;


.as barras de los apo%os se introducirn por separado, porque u-, v- % vm no
son incgnitas, %a sabemos que son nulos.

MRG 8 2*r+s(:MEB,:MEB);

/ntroducimos elementos de la barra -
MRG(1,1)8MRG(1,1)A;4:>;
MRG(1,:)8MRG(1,:)A;4LBB;
MRG(:,1)8MRG(:,1)A;4LBB;
MRG(:,:)8MRG(:,:)A;4K>;
/ntroducimos elementos de la barra 0

MRG(B,B)8MRG(B,B)A1;
/ntroducimos elementos de la !ltima barra

MRG(:ME>,:ME>)8MRG(:ME>,:ME>)A;4:>;
MRG(:ME>,:MEL)8MRG(:ME>,:MEL)E;4LBB;
MRG(:ME>,:MEB)8MRG(:ME>,:MEB)E;4:>;
MRG(:MEL,:ME>)8MRG(:MEL,:ME>)E;4LBB;
MRG(:MEL,:MEL)8MRG(:MEL,:MEL)A;4K>;
MRG(:MEL,:MEB)8MRG(:MEL,:MEB)A;4LBB;
MRG(:MEB,:ME>)8MRG(:MEB,:ME>)E;4:>;
MRG(:MEB,:MEL)8MRG(:MEB,:MEL)A;4LBB;
MRG(:MEB,:MEB)8MRG(:MEB,:MEB)A;4:>;

/ntroducimos elementos de la pen!ltima barra
MRG(:MEK,:MEK)8MRG(:MEK,:MEK)A1;
MRG(:MEK,:MEB)8MRG(:MEK,:MEB)E1;
MRG(:MEB,:MEK)8MRG(:MEB,:MEK)E1;
36
Resolucin de una estructura de barras Mtodos Numricos
MRG(:MEB,:MEB)8MRG(:MEB,:MEB)A1;

Multiplicamos la matriz por E+>.

f+r i 8 1 P :MEB
f+r " 8 1 P :MEB
MRG(i,") 8 MRG(i,") M E M AREA N &;

*n(;
*n(


fprintf(1,'\nM4R4G4P\n');
f+r i 8 1 P :MEB
f+r " 8 1 P :MEB
fprintf(1, 'F1L4Lf', MRG(i,"));
*n(;
fprintf(1, '\n');

*n(
%.3.3. I*t!od+""i)* de a, 0+e!$a, e(te!*a,

En este problema, tenemos dos tipos de fuerzas e2ternas que podr'an actuar
sobre la estructura, fuerzas horizontales % fuerzas verticales. + cada una de
ellas ir asociada un valor % su signo correspondiente.
En nuestro caso hemos determinado que,
E .as fuerzas horizontales hacia la derecha sern positivas, % hacia la
izquierda sern negativas.
E .as fuerzas verticales hacia arriba sern positivas, % hacia abajo sern
negativas.
Fuerzas externas horizontales
?82*r+s(:M);F.*/t+r (* f-*r2$s *#t*rn$s

fprintf('\n'ns*rt* *& n7*r+ (* f-*r2$s 1+ri2+nt$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ 1+ri2+nt$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s : y L 1$y -n$ f-*r2$
1+ri2+nt$& 1$/i$ &$ (*r*/1$ (* K t+n*&$($s y \n+tr$ 1$/i$ &$ i26-i*r($
(* J t+n*&$($s r*sp*/ti.$*nt*P\n');
fprintf(':\nK\nL\nEJ\n\n');

"81;
37
Resolucin de una estructura de barras Mtodos Numricos
En esta primera parte nos aseguramos en primer lugar si e2isten fuerzas
horizontales, % en caso de ser as', se pone la variable "j#3 - para comenzar la
cuenta.
91i&* "=8! F$&$/*n$ *n &$ $tri2 (* f-*r2$s *#t*rn$s &$s
1+ri2+nt$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ 1+ri2+nt$& $p&i/$($
if $=8
?(:M$E1) 8 %;
*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
En esta parte la introduccin de los datos en el vector D (vector de fuerzas
e2ternas) se realiza siempre % cuando el valor de "j# (el contador) sea menor o
igual a "4# (n!mero de fuerzas horizontales).
.a introduccin de datos se produce de la siguiente manera,
E 5ebe introducir en primero el nodo en el que ha% aplicada una fuerza
horizontal. Este valor ser almacenado en "a#.
E + continuacin, % en una l'nea distinta, deber introducir el valor
correspondiente a dicha fuerza, teniendo en cuenta el criterio de signos
descrito anteriormente. Este valor ser almacenado en "b#.
Este proceso se repetir hasta que el contador "j# sea igual a "4#.
En caso de introducir un valor de nodo incorrecto el programa nos lo har
saber.

Fuerzas externas verticales
6ara el caso de las fuerzas verticales, la introduccin de los datos por el
usuario, as' como la introduccin de los datos en la matriz, es el mismo que
para las fuerzas horizontales.
fprintf('\n'ns*rt* *& n7*r+ (* f-*r2$s .*rti/$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ .*rti/$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s 1 y > 1$y -n$s f-*r2$s
.*rti/$&*s 1$/i$ $%$"+ (* 1K y :O t+n*&$($s \nr*sp*/ti.$*nt*P\n');
fprintf('1\n1K\n>\n:O\n\n');
38
Resolucin de una estructura de barras Mtodos Numricos

"81;
91i&* "=8! F$&$/*n$ *n &$ $tri2 (* f-*r2$s *#t*rn$s &$s
.*rti/$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ .*rti/$& $p&i/$($
if $=8
?(:M$) 8 %;

*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
%.3.5. Dib+4o de a, 0+e!$a, e(te!*a, ,ob!e a e,t!+"t+!a
Fuerzas externas horizontales
6ara llevar a cabo el dibujo de las fuerzas hemos seguido el siguiente bucle,

if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $A;4KC,@: :C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @:4;> :C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @:4;> :C,'/+&+r',',');
p&+t(@$ $A;41C, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,HE%I,'/+&+r',',');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $A;4KC,@1 1C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @14;> 1C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @14;> 1C,'/+&+r',',');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,HE%I,'/+&+r',',');
*n(
*n(

"8"A1;
*n(
*n(

Con estas funciones lo que hacemos es dibujar, en los nodos que
correspondan % de color verde, una l'nea horizontal % una flecha hacia la
derecha o izquierda en funcin del signo que corresponda.


Fuerzas externas verticales
39
Resolucin de una estructura de barras Mtodos Numricos
6ara llevar a cabo el dibujo de las fuerzas hemos seguido el siguiente bucle,
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $C,@: :4BC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @:4:> :4BC,'/+&+r','');
p&+t(@$ $A;41C, @:4B :4:>C,'/+&+r','');
t*#t($A;4;>,:4B, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @:4;> :C,'/+&+r','');
p&+t(@$ $A;41C, @: :4;>C,'/+&+r','');
t*#t($A;4;>,:4B, HE%I,'/+&+r','');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $C,@1 ;4KC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @;4G> 1C,'/+&+r','');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r','');
t*#t($A;4;>,;4K, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @;4K> ;4KC,'/+&+r','');
p&+t(@$ $A;41C, @;4K ;4K>C,'/+&+r','');
t*#t($A;4;>,;4K, HE%I,'/+&+r','');
*n(
*n(

"8"A1;

*n(
*n(

Con estas funciones lo que hacemos es dibujar, en los nodos que
correspondan % de color rosa, una l'nea vertical % una flecha hacia arriba o
hacia abajo en funcin del signo que corresponda.

%.3.16. C!ea"i)* de a mat!i$ de ,i,tema de e"+a"io*e,

f82*r+s(:MEB);

f+r i 8 1 P :MEB
f(i)8?(iA:);
*n(

<emos eliminado del vector D las fuerzas en el nodo - % la fuerza vertical del
nodo "m#.
Z82*r+s(:MEB);

Z 8 MRG\f;

D82*r+s(:M); F.*/t+r (*sp&$2$i*nt+s
f+r i 8 1 P :MEB
D(iA:)8 Z(i);
*n(
40
Resolucin de una estructura de barras Mtodos Numricos

En este caso hemos utilizado la funcin del Matlab de eliminacin @aussiana
para resolver nuestro sistema de ecuaciones.
%.3.11. De,"!ip"i)* de a ,o+"i)*

fprintf(1, '\nD*sp&$2$i*nt+s (* &+s n+(+sP\n');


f+r ' 8 1 P :M
if r*(',:)881
fprintf(1,'FBs', '-');
fprintf(1,'F14;f',('A1)N:);
*&s*
fprintf(1,'FBs', '.');
fprintf(1,'F14;f','N:);
*n(
fprintf(1,'FJ4Lf', D('));
fprintf(1, '\n');
*n(

En esta parte del programa se muestra el vector de desplazamientos de la
estructura, es decir, la solucin.
%.3.12. Dib+4o de o, e,0+e!$o, 7 !ea""io*e, ,ob!e a e,t!+"t+!a
En este apartado copiaremos la figura inicial para crear una nueva figura en la
que se aprecien los desplazamientos producidos en la estructura.
18fi,-r*(:);

tit&*('D*f+r$/i3n (* &$ *str-/t-r$');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;


FD'UUVO DE LA ESTRUCTURA

i8;

91i&* iD8>; F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >

#8@iA:MD(:MiE1) iE1A:MD(:MiEB)C; F/++r(in$($s # (* 1 &in*$
y8@1A:MD(:Mi) :A:MD(:MiE:)C; F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y, '/+&+r','');

t*#t(iA:MD(:MiE1)A;4;>, 1A:MD(:Mi)E;41, HiI);
t*#t(iE1A:MD(:MiEB)A;4;>, :A:MD(:MiE:)A;41, HiE1I);

#8@iA:MD(:MiE1) iE:A:MD(:MiE>)C;
y8@1A:MD(:Mi) 1A:MD(:MiEL)C;
41
Resolucin de una estructura de barras Mtodos Numricos
p&+t(#,y,'/+&+r','');

#8@iE1A:MD(:MiEB) iE:A:MD(:MiE>)C;
y8@:A:MD(:MiE:) 1A:MD(:MiEL)C;
p&+t(#,y,'/+&+r','');

#8@iE1A:MD(:MiEB) iEBA:MD(:MiEK)C;
y8@:A:MD(:MiE:) :A:MD(:MiEO)C;
p&+t(#,y,'/+&+r','');

i8iE:;
*n(;

#8@1 BA:MD(>)C;Fr*$&i2$ &$s &Qn*$s (*& pri*r tri5n,-&+ (%$rr$s 1$st$
*& n+(+B)
y8@1 1A:MD(O)C;
p&+t(#,y,'/+&+r','');

#8@1 :A:MD(B)C;
y8@1 :A:MD(L)C;
p&+t(#,y,'/+&+r','');

#8@:A:MD(B) BA:MD(>)C;
y8@:A:MD(L) 1A:MD(O)C;
p&+t(#,y,'/+&+r','');

t*#t(14;>, ;4G, '1');
t*#t(:A:MD(B)A;4;>, :A:MD(L)A;41, ':');
t*#t(BA:MD(>)A;4;>, 1A:MD(O)E;41, 'B');

#8@1 141>C;F$p+y+ (*& n+(+ 1
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);

#8@A:MD(:ME1) A;41>A:MD(:ME1)C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
#8@A:MD(:ME1) E;41>A:MD(:ME1)C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41>A:MD(:ME1) A;41>A:MD(:ME1)C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>A:MD(:ME1),;4JL,'\+');
t*#t(A;4;>A:MD(:ME1),;4JL,'\+');
#8@E;4:>A:MD(:ME1) A;4:>A:MD(:ME1)C;
y8@;4J1 ;4J1C;
p&+t(#,y);

En esta nueva estructura, los puntos que hemos introducido a la hora de
dibujar las barras sern los puntos en los que se encontraban inicialmente ms
42
Resolucin de una estructura de barras Mtodos Numricos
el desplazamiento obtenido de la resolucin del sistema multiplicado por 0, con
el fin de hacer a!n ms visible los desplazamientos producidos.
%.3.13. Ama"e*amie*to de dato, e* +* 0i"8e!o
$na vez obtenidos los resultados daremos al usuario la opcin de guardar los
datos en un fichero o simplemente terminar.
fprintf(1,'\n\n14 WD*s*$ ,-$r($r *& r*s-&t$(+ *n -n fi/1*r+X\n');
fprintf(1,':4 T*rin$r\n');
fprintf(1,'Es/ri%$ 1 + :P\n');
AA 8 inp-t(' ');
if AA 88 1
fprintf(1,'Es/ri%$ *& n+%r* (*& fi/1*r+ (* &$ f+r$ E
(is/+P\\n+%r*4*#t\n');
fprintf(1,'p+r *"*p&+P AP\\DATA4DTA\n');
NAME 8 inp-t(' ','s');
OUP 8 f+p*n(NAME,'9t');

fprintf(OUP, '\nD*sp&$2$i*nt+s (* &+s n+(+sP\n');

f+r ' 8 1 P :M
if r*(',:)881
fprintf(OUP,'FBs', '-');
fprintf(OUP,'F14;f',('A1)N:);
*&s*
fprintf(OUP,'FBs', '.');
fprintf(OUP,'F14;f','N:);
*n(
fprintf(OUP,'FJ4Lf', D('));
fprintf(OUP, '\n');
*n(

f/&+s*(OUP);
fprintf(1,'?i/1*r+ (* s$&i($ Fs /r*$(+ /+n *#it+ \n',NAME);
*n(;
Mediante este algoritmo se tiene en cuenta lo siguiente,
E :i el usuario introduce un "0# simplemente se termina.
E :i el usuario introduce un "-#, se da la posibilidad de generar un fichero
para almacenar los datos.
%.%. A#o!itmo
fprintf(1,'\n\n_______________________________________________________
_____________________________________________\n\n');
fprintf(1,' PROGRAMA DE CALCULO DE LA ESTRUCTURA
DE UN PUENTE\n');
fprintf(1,'___________________________________________________________
_________________________________________\n\n\n');

43
Resolucin de una estructura de barras Mtodos Numricos
Fn+%r$r &$s .$ri$%&*s
sys('','!','i','"','#','y','$','%','&','AREA');
sys('?','MRG');
sys(''NP','NAME','fi(');

fprintf(1,'Est* pr+,r$$ r*s-*&.* &$ *str-/t-r$ (* -n p-*nt* p+r *&
M0t+(+ Dir*/t+ (* &$ Ri,i(*24\n');
fprintf(1,'L$s %$rr$s (* &$ *str-/t-r$ t*n(r5n t+($s &$ is$
&+n,it-(, f+r5n(+s* *ntr* *&&$s tri5n,-&+s \n*6-i&5t*r+s\n\n');
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+ ip$r
$y+r 6-* /in/+)\n');
8 inp-t(' ');

91i&* r*(,:)88; << => F/+n *st+ n+s $s*,-r$+s (* 6-* *s ip$r y
$y+r 6-* >
fprintf(1,''ns*rt* *& n7*r+ (* n+(+s (*st* (*%* s*r -n n7*r+
ip$r $y+r 6-* /in/+)\n');
8 inp-t(' ');
*n(

i8;


TRUE 8 1;
?ALSE 8 ;;
/&+s* $&&;F/i*rr$ &$s p$nt$&&$s $nt*ri+r*s

18fi,-r* (1);
tit&*('Estr-/t-r$ (*& p-*nt*');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;


FD'UUVO DE LA ESTRUCTURA
91i&* iD8>;F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >
#8@i iE1C;F/++r(in$($s # (* 1 &in*$
y8@1 :C;F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y);
t*#t(iE;4;>,;4G,HiI);
t*#t(iE14;>,14G,HiE1I);
#8@i iE:C;
y8@1 1C;
p&+t(#,y);
#8@iE1 iE:C;
y8@: 1C;
p&+t(#,y);
#8@iE1 iEBC;
y8@: :C;
p&+t(#,y);
i8iE:;
*n(;

#8@1 BC;Fr*$&i2$ &$s &in*$s (*& pri*r tri5n,-&+ (%$rr$s 1$st$ *&
n+(+B)
y8@1 1C;
p&+t(#,y);
#8@1 :C;
y8@1 :C;
44
Resolucin de una estructura de barras Mtodos Numricos
p&+t(#,y);
#8@: BC;
y8@: 1C;
p&+t(#,y);
t*#t(;4G>,;4G,'1');
t*#t(14G>,14G,':');
t*#t(:4G>,;4G,'B');

#8@1 141>C;F$p+y+ (*& n+(+ 1
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);

#8@ A;41>C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
#8@ E;41>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41> A;41>C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>,;4JL,'\+');
t*#t(A;4;>,;4JL,'\+');
#8@E;4:> A;4:>C;
y8@;4J1 ;4J1C;
p&+t(#,y);


FRESOLUC'YN DEL PROULEMA

fprintf(''ns*rt* &$ &+n,it-( (* &$s %$rr$s (*n /)\n');
& 8 inp-t(' ');
fprintf(''ns*rt* *& 5r*$ (* &$s %$rr$s (*n /:)\n');
AREA 8 inp-t(' ');
fprintf('WD*s*$ 6-* *& 3(-&+ (* *&$sti/i($( -s$(+ s*$ E 8 :1;;
t+nN/:X\n');
fprintf('Es/ri%$ (Z) ; (N)\n');
AA 8 inp-t(' ','s');

if AA 88 'Z' < AA 88 'y'
E 8 :1;;;
*&s*
fprintf('\nEs/ri%$ *& .$&+r (*& 3(-&+ (* *&$sti/i($( 6-* (*s*$
$p&i/$r (*n t+nN/:)\n');
E 8 inp-t('');
*n(


FC5&/-&+ (* &$ M4R4G4

MRG 8 2*r+s(:MEB,:MEB);

FS*,7n s-s 5,-&+s, &$ *str-/t-r$ (*& p-*nt* ti*n* tr*s tip+s (*
%$rr$s4 L$s
45
Resolucin de una estructura de barras Mtodos Numricos
F(*& tip+ 1 s+n &$s 6-* *st5n $ O;[ (* &$ 1+ri2+nt$&, &$s (*& tip+ :
s+n
F&$s 1+ri2+nt$&*s y &$s (*& tip+ B s+n &$s 6-* *st5n $ EO;[ /+n
r*sp*/t+ $
F&$ 1+ri2+nt$&4
F&$s %$rr$s (* &+s $p+y+s s* intr+(-/ir5n p+r s*p$r$(+, p+r6-* -1,.1 y
.
Fs+n n-&+s4

F%$rr$ 1P
MRG(1,1)8MRG(1,1)A;4:>;
MRG(1,:)8MRG(1,:)A;4LBB;
MRG(:,1)8MRG(:,1)A;4LBB;
MRG(:,:)8MRG(:,:)A;4K>;

F%$rr$ :P
MRG(B,B)8MRG(B,B)A1;

F7&ti$ %$rr$P
MRG(:ME>,:ME>)8MRG(:ME>,:ME>)A;4:>;
MRG(:ME>,:MEL)8MRG(:ME>,:MEL)E;4LBB;
MRG(:ME>,:MEB)8MRG(:ME>,:MEB)E;4:>;
MRG(:MEL,:ME>)8MRG(:MEL,:ME>)E;4LBB;
MRG(:MEL,:MEL)8MRG(:MEL,:MEL)A;4K>;
MRG(:MEL,:MEB)8MRG(:MEL,:MEB)A;4LBB;
MRG(:MEB,:ME>)8MRG(:MEB,:ME>)E;4:>;
MRG(:MEB,:MEL)8MRG(:MEB,:MEL)A;4LBB;
MRG(:MEB,:MEB)8MRG(:MEB,:MEB)A;4:>;

Fp*n7&ti$ %$rr$P
MRG(:MEK,:MEK)8MRG(:MEK,:MEK)A1;
MRG(:MEK,:MEB)8MRG(:MEK,:MEB)E1;
MRG(:MEB,:MEK)8MRG(:MEB,:MEK)E1;
MRG(:MEB,:MEB)8MRG(:MEB,:MEB)A1;


F%$rr$s (*& tip+ 1P

"8B; F/+nt$(+r (* %$rr$s
91i&* "=8(:MEK)
MRG(",")8MRG(",")A;4:>;Fintr+(-/i+s &$ MRE p+r /$($ %$rr$4(p$r$
1$/*r *st+ p+r fi/1*r+, ir$r (+/-*nt+ 9+r( p$,K)
MRG(","A1)8MRG(","A1)A;4LBB;
MRG(","A:)8MRG(","A:)E;4:>;
MRG(","AB)8MRG(","AB)E;4LBB;

MRG("A1,")8MRG("A1,")A;4LBB;
MRG("A1,"A1)8MRG("A1,"A1)A;4K>;
MRG("A1,"A:)8MRG("A1,"A:)E;4LBB;
MRG("A1,"AB)8MRG("A1,"AB)E;4K>;

MRG("A:,")8MRG("A:,")E;4:>;
MRG("A:,"A1)8MRG("A:,"A1)E;4LBB;
MRG("A:,"A:)8MRG("A:,"A:)A;4:>;
MRG("A:,"AB)8MRG("A:,"AB)A;4LBB;

MRG("AB,")8MRG("AB,")E;4LBB;
MRG("AB,"A1)8MRG("AB,"A1)E;4K>;
MRG("AB,"A:)8MRG("AB,"A:)A;4LBB;
MRG("AB,"AB)8MRG("AB,"AB)A;4K>;

46
Resolucin de una estructura de barras Mtodos Numricos
"8"AL;
*n(;


F%$rr$s (*& tip+ :P

"8:; F/+nt$(+r (* %$rr$s
91i&* "=8(:MEJ)

MRG("E1,"E1)8MRG("E1,"E1)A1;
MRG("E1,"A>)8MRG("E1,"AB)E1;

MRG("AB,"E1)8MRG("AB,"E1)E1;
MRG("AB,"AB)8MRG("AB,"AB)A1;

"8"A:;
*n(;


F%$rr$s (*& tip+ BP

"81; F/+nt$(+r (* %$rr$s
91i&* "=8(:MEG)
MRG(",")8MRG(",")A;4:>;Fintr+(-/i+s &$ MRE p+r /$($ %$rr$
MRG(","A1)8MRG(","A1)E;4LBB;
MRG(","A:)8MRG(","A:)E;4:>;
MRG(","AB)8MRG(","AB)A;4LBB;

MRG("A1,")8MRG("A1,")E;4LBB;
MRG("A1,"A1)8MRG("A1,"A1)A;4K>;
MRG("A1,"A:)8MRG("A1,"A:)A;4LBB;
MRG("A1,"AB)8MRG("A1,"AB)E;4K>;

MRG("A:,")8MRG("A:,")E;4:>;
MRG("A:,"A1)8MRG("A:,"A1)A;4LBB;
MRG("A:,"A:)8MRG("A:,"A:)A;4:>;
MRG("A:,"AB)8MRG("A:,"AB)E;4LBB;

MRG("AB,")8MRG("AB,")A;4LBB;
MRG("AB,"A1)8MRG("AB,"A1)E;4K>;
MRG("AB,"A:)8MRG("AB,"A:)E;4LBB;
MRG("AB,"AB)8MRG("AB,"AB)A;4K>;

"8"AL;
*n(;


F-&tip&i/$+s &$ $tri2 p+r EANL

f+r i 8 1 P :MEB
f+r " 8 1 P :MEB
MRG(i,") 8 MRG(i,") M E M AREA N &;

*n(;
*n(


fprintf(1,'\nM4R4G4P\n');
f+r i 8 1 P :MEB
f+r " 8 1 P :MEB
fprintf(1, 'F1L4Lf', MRG(i,"));
47
Resolucin de una estructura de barras Mtodos Numricos
*n(;
fprintf(1, '\n');

*n(





F?UERTAS E)TERNAS

?82*r+s(:M);F.*/t+r (* f-*r2$s *#t*rn$s

fprintf('\n'ns*rt* *& n7*r+ (* f-*r2$s 1+ri2+nt$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ 1+ri2+nt$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s : y L 1$y -n$ f-*r2$
1+ri2+nt$& 1$/i$ &$ (*r*/1$ (* K t+n*&$($s y \n+tr$ 1$/i$ &$ i26-i*r($
(* J t+n*&$($s r*sp*/ti.$*nt*P\n');
fprintf(':\nK\nL\nEJ\n\n');

"81;
91i&* "=8! F$&$/*n$ *n &$ $tri2 (* f-*r2$s *#t*rn$s &$s
1+ri2+nt$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ 1+ri2+nt$& $p&i/$($
if $=8
?(:M$E1) 8 %;

F(i%-"$+s &$s f-*r2$sP
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $A;4KC,@: :C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @:4;> :C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @:4;> :C,'/+&+r',',');
p&+t(@$ $A;41C, @: 14G>C,'/+&+r',',');
t*#t($A;4O>,:4;>,HE%I,'/+&+r',',');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $A;4KC,@1 1C,'/+&+r',',');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$A;4O $A;4KC, @14;> 1C,'/+&+r',',');
p&+t(@$A;4K $A;4OC, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,H%I,'/+&+r',',');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$A;41 $C, @14;> 1C,'/+&+r',',');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r',',');
t*#t($A;4O>,14;>,HE%I,'/+&+r',',');
*n(
*n(

"8"A1;
*&s*
48
Resolucin de una estructura de barras Mtodos Numricos
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
*n(
*n(


fprintf('\n'ns*rt* *& n7*r+ (* f-*r2$s .*rti/$&*s $p&i/$($s\n');
! 8 inp-t(' ');

if !D;
fprintf('Es/ri%$ *n &Qn*$s s*p$r$($s /$($ n+(+ *n *& 6-* 1$y -n$
f-*r2$ .*rti/$& $p&i/$($ (*n t+n*&$($s) \ns*,-i(+ (*& .$&+r (*
0st$4\n');
fprintf('P+r *"*p&+, si *n &+s n+(+s 1 y > 1$y -n$s f-*r2$s
.*rti/$&*s 1$/i$ $%$"+ (* 1K y :O t+n*&$($s \nr*sp*/ti.$*nt*P\n');
fprintf('1\n1K\n>\n:O\n\n');

"81;
91i&* "=8! F$&$/*n$ *n &$ $tri2 (* f-*r2$s *#t*rn$s &$s
.*rti/$&*s
$ 8 inp-t(' '); F$P n+(+
% 8 inp-t(' '); F%P /$r,$ .*rti/$& $p&i/$($
if $=8
?(:M$) 8 %;

F(i%-"$+s &$s f-*r2$sP
if r*($,:) 88 ; Fn+(+s p$r*s
p&+t(@$ $C,@: :4BC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @:4:> :4BC,'/+&+r','');
p&+t(@$ $A;41C, @:4B :4:>C,'/+&+r','');
t*#t($A;4;>,:4B, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @:4;> :C,'/+&+r','');
p&+t(@$ $A;41C, @: :4;>C,'/+&+r','');
t*#t($A;4;>,:4B, HE%I,'/+&+r','');
*n(

*&s* Fn+(+s ip$r*s
p&+t(@$ $C,@1 ;4KC,'/+&+r','');
if %D; Ff-*r2$s p+siti.$s
p&+t(@$E;41 $C, @;4G> 1C,'/+&+r','');
p&+t(@$ $A;41C, @1 ;4G>C,'/+&+r','');
t*#t($A;4;>,;4K, H%I,'/+&+r','');
*&s* Ff-*r2$s n*,$ti.$s
p&+t(@$E;41 $C, @;4K> ;4KC,'/+&+r','');
p&+t(@$ $A;41C, @;4K ;4K>C,'/+&+r','');
t*#t($A;4;>,;4K, HE%I,'/+&+r','');
*n(
*n(

"8"A1;
*&s*
fprintf('*& n+(+ n+ *s .5&i(+, .-*&.$ $ intr+(-/ir&+ "-nt+
/+n s- f-*r2$\n');
*n(
*n(
*n(


49
Resolucin de una estructura de barras Mtodos Numricos
f82*r+s(:MEB);

f+r i 8 1 P :MEB
f(i)8?(iA:);
*n(

Z82*r+s(:MEB);

Z 8 MRG\f;

D82*r+s(:M); F.*/t+r (*sp&$2$i*nt+s
f+r i 8 1 P :MEB
D(iA:)8 Z(i);
*n(


fprintf(1, '\nD*sp&$2$i*nt+s (* &+s n+(+sP\n');


f+r ' 8 1 P :M
if r*(',:)881
fprintf(1,'FBs', '-');
fprintf(1,'F14;f',('A1)N:);
*&s*
fprintf(1,'FBs', '.');
fprintf(1,'F14;f','N:);
*n(
fprintf(1,'FJ4Lf', D('));
fprintf(1, '\n');
*n(



FD'UUVAMOS LA DE?ORMAC'YN DE LA ESTRUCTURAP

18fi,-r*(:);

tit&*('D*f+r$/i3n (* &$ *str-/t-r$');
$#is(@; A1 ; BC);Fp+n* *"*s 1$st$ A1
$#is +ff;
s*t(,/f, '/+&+r', '9');
1+&( +n;


FD'UUVO DE LA ESTRUCTURA

i8;

91i&* iD8>; F(i%-"$ &$s %$rr$s 6-* $-*nt$ &$ *str-/t-r$ /+n /$($ p$r
(* n+(+s $y+r 6-* >

#8@iA:MD(:MiE1) iE1A:MD(:MiEB)C; F/++r(in$($s # (* 1 &in*$
y8@1A:MD(:Mi) :A:MD(:MiE:)C; F/++r(*n$($s y (* -n$ &in*$
p&+t(#,y, '/+&+r','');

t*#t(iA:MD(:MiE1)A;4;>, 1A:MD(:Mi)E;41, HiI);
t*#t(iE1A:MD(:MiEB)A;4;>, :A:MD(:MiE:)A;41, HiE1I);

#8@iA:MD(:MiE1) iE:A:MD(:MiE>)C;
y8@1A:MD(:Mi) 1A:MD(:MiEL)C;
p&+t(#,y,'/+&+r','');
50
Resolucin de una estructura de barras Mtodos Numricos

#8@iE1A:MD(:MiEB) iE:A:MD(:MiE>)C;
y8@:A:MD(:MiE:) 1A:MD(:MiEL)C;
p&+t(#,y,'/+&+r','');

#8@iE1A:MD(:MiEB) iEBA:MD(:MiEK)C;
y8@:A:MD(:MiE:) :A:MD(:MiEO)C;
p&+t(#,y,'/+&+r','');

i8iE:;
*n(;

#8@1 BA:MD(>)C;Fr*$&i2$ &$s &Qn*$s (*& pri*r tri5n,-&+ (%$rr$s 1$st$
*& n+(+B)
y8@1 1A:MD(O)C;
p&+t(#,y,'/+&+r','');

#8@1 :A:MD(B)C;
y8@1 :A:MD(L)C;
p&+t(#,y,'/+&+r','');

#8@:A:MD(B) BA:MD(>)C;
y8@:A:MD(L) 1A:MD(O)C;
p&+t(#,y,'/+&+r','');

t*#t(14;>, ;4G, '1');
t*#t(:A:MD(B)A;4;>, :A:MD(L)A;41, ':');
t*#t(BA:MD(>)A;4;>, 1A:MD(O)E;41, 'B');

#8@1 141>C;F$p+y+ (*& n+(+ 1
y8@1 ;4J>C;
p&+t(#,y);
#8@1 ;4J>C;
y8@1 ;4J>C;
p&+t(#,y);
#8@;4K> 14:>C;
y8@;4J> ;4J>C;
p&+t(#,y);

#8@A:MD(:ME1) A;41>A:MD(:ME1)C;F$p+y+ (*& n+(+
y8@1 ;4J>C;
p&+t(#,y);
#8@A:MD(:ME1) E;41>A:MD(:ME1)C;
y8@1 ;4J>C;
p&+t(#,y);
#8@E;41>A:MD(:ME1) A;41>A:MD(:ME1)C;
y8@;4J> ;4J>C;
p&+t(#,y);
t*#t(E;41>A:MD(:ME1),;4JL,'\+');
t*#t(A;4;>A:MD(:ME1),;4JL,'\+');
#8@E;4:>A:MD(:ME1) A;4:>A:MD(:ME1)C;
y8@;4J1 ;4J1C;
p&+t(#,y);



F?'CRERO

fprintf(1,'\n\n14 WD*s*$ ,-$r($r *& r*s-&t$(+ *n -n fi/1*r+X\n');
F,-$r($r *n fi/1*r+
fprintf(1,':4 T*rin$r\n');
51
Resolucin de una estructura de barras Mtodos Numricos
fprintf(1,'Es/ri%$ 1 + :P\n');
AA 8 inp-t(' ');
if AA 88 1
fprintf(1,'Es/ri%$ *& n+%r* (*& fi/1*r+ (* &$ f+r$ E
(is/+P\\n+%r*4*#t\n');
fprintf(1,'p+r *"*p&+P AP\\DATA4DTA\n');
NAME 8 inp-t(' ','s');
OUP 8 f+p*n(NAME,'9t');

fprintf(OUP, '\nD*sp&$2$i*nt+s (* &+s n+(+sP\n');

f+r ' 8 1 P :M
if r*(',:)881
fprintf(OUP,'FBs', '-');
fprintf(OUP,'F14;f',('A1)N:);
*&s*
fprintf(OUP,'FBs', '.');
fprintf(OUP,'F14;f','N:);
*n(
fprintf(OUP,'FJ4Lf', D('));
fprintf(OUP, '\n');
*n(

f/&+s*(OUP);
fprintf(1,'?i/1*r+ (* s$&i($ Fs /r*$(+ /+n *#it+ \n',NAME);
*n(;
.. E;ECUCIONES &RCTICAS DEL &RO'RAMA
..1. Mtodo de Compatibiidad
%omenzaremos las ejecuciones pr(cticas del programa realizando un
primer ejemplo mu# sencillo, con el n-mero m+nimo de nodos en el entramado
# sobre el *ue situaremos unas pocas fuerzas. As+ iremos e.plicando paso a
paso los datos *ue el programa "a pidiendo al usuario # los resultados *ue se
muestran.
En los otros ejemplos tan slo mostraremos los resultados sin e.plicaciones.
E;EM&LO 1
Al ejecutar el programa primeramente aparece una pe*ue,a e.plicacin
sobre el mismo # se pide al usuario *ue introduzca el n-mero de nodos del *ue
constar( el entramado, con la consideracin de *ue 0a de ser un n-mero impar
# ma#or *ue 91m+nimo de nodos posible2
52
Estructura del puente
7
6
5
4
1
2
3

Resolucin de una estructura de barras Mtodos Numricos
En este primer ejemplo presentaremos el entramado m(s sencillo, el *ue
presenta F nodos, por lo *ue introducimos el n-mero.
)eguidamente aparece una "entana en la *ue se muestra la estructura
del entramado. 4ndicando cmo se encuentran numerados los nodos # en *ue
posiciones est(n los apo#os. !e este modo cuando se *uiera introducir las
fuerzas se sabr( el "alor del nodo *ue debe poner el usuario.
A continuacin el programa nos pide *ue introduzcamos el n-mero de
fuerzas 0orizontales *ue actuaran sobre la estructura. En este caso ser(n dos.
53
Resolucin de una estructura de barras Mtodos Numricos
A0ora es el momento en el *ue se introducen el n-mero del nodo donde
est( aplicada la fuerza as+ como el "alor de la misma. En este ejemplo
supondremos *ue en el nodo $ 0a# una fuerza 0orizontal 0acia la derec0a de
"alor de $ toneladas, # en el nodo ' una fuerza 0orizontal 0acia la iz*uierda de
"alor de tonelada.
)eparado en l+neas escribimos la secuencia: $
$
'
G
)obre la figura donde se dibujaba inicialmente el entramado
descargado, aparecen a0ora en color "erde las fuerzas 0orizontales
introducidas.
54
Resolucin de una estructura de barras Mtodos Numricos
An(logamente se act-a para introducir las fuerzas "erticales. En nuestro
caso supondremos *ue 0a# aplicadas ' fuerzas "erticales, por lo *ue
introducimos a continuacin el "alor '.
%olocaremos ' fuerzas "erticales 0acia debajo de "alor de tonelada
cada una, situadas en los nodos $,H # ; por lo *ue en programa escribiremos la
siguiente secuencia separada por l+neas: $
G
H
G
;
G
55
Resolucin de una estructura de barras Mtodos Numricos
4ntroducidas #a las fuerzas "erticales, aparece en la figura todas las
fuerzas *ue act-an sobre el entramado. Representadas en color "erde las
fuerzas 0orizontales *ue se colocaron en los pasos anteriores # en color rosa
las fuerzas "erticales, introducidas en este -ltimo paso.
3na "ez introducidos todos los datos anteriores, aparece la matriz del
sistema de ecuaciones, seguido de los esfuerzos *ue aparecen en las barras
# las reacciones en los apo#os.
56
Resolucin de una estructura de barras Mtodos Numricos
)eguido de esto, aparece en una "entana la representacin gr(fica del
entramado con los esfuerzos dibujado sobre las barras. En color rosa se
representan los esfuerzos de compresin, mientras *ue en color "erde
aparecen los esfuerzos de traccin. )obre los apo#os con flec0as de color azul
se muestran las reacciones de los mismos.
57
Resolucin de una estructura de barras Mtodos Numricos
:inalmente, el programa nos da la opcin de guardar el resultado
obtenido en un fic0ero o bien finalizar.
Euardaremos este primer ejemplo en un fic0ero llamado ejemplo.m
8ec0o esto se 0a finalizado #a el programa.
E;EM&LO 2
En este ejemplo presentamos un entramado *ue consta de 9 nodos,
sobre el *ue act-an F fuerzas 0orizontales # F fuerzas "erticales.
58
Resolucin de una estructura de barras Mtodos Numricos
59
Resolucin de una estructura de barras Mtodos Numricos
Ntese que la matriz tiene una dimensin de *= ; *- pero no se ha podido
representar en su totalidad
60
Resolucin de una estructura de barras Mtodos Numricos
61
Resolucin de una estructura de barras Mtodos Numricos
E;EM&LO 3
En este ejemplo presentamos un entramado *ue consta de I
nodos, sobre el *ue act-an 9 fuerzas 0orizontales # I fuerzas "erticales.
62
Resolucin de una estructura de barras Mtodos Numricos
63
Resolucin de una estructura de barras Mtodos Numricos
Ntese que la matriz es de *E 2 *F pero no
se ha podido representar en su totalidad
64
Resolucin de una estructura de barras Mtodos Numricos
..2. Mtodo Di!e"to de a Ri#ide$
Tal # como 0ici&ramos con los ejemplos propuestos en el algoritmo del
m&todo de compatibilidad, propondremos a0ora los mismos entramados
resueltos en este caso por el m&todo directo de la rigidez, obteniendo como
resultados los desplazamientos de los nodos as+ como la figura de la
deformada del entramado. E.plicaremos paso por paso -nicamente el
primer ejemplo.
E;EM&LO 1
65
Resolucin de una estructura de barras Mtodos Numricos
/rimeramente el programa 0ace una pe*ue,a introduccin acerca del
m&todo *ue se "a a emplear # nos indica *ue introduzcamos el n-mero de
nodos del *ue constar( el entramado, considerando *ue 0a de ser un n-mero
impar ma#or *ue 9.
En este caso introducimos el n-mero F 1*ue es el entramado m(s
sencillo2
A continuacin se nos indica *ue debemos introducir el "alor del
tama,o de las barras, supondremos *ue tienen una longitud de metro, por lo
*ue introduciremos <<1*ue es el "alor en cent+metros2.As+ como aparece una
"entana con el entramado dibujado.
66
Resolucin de una estructura de barras Mtodos Numricos
El siguiente dato *ue nos pide el programa es el (rea de las barras,
supondremos *ue este "alor es de $ cm
$
# lo introducimos.
)eguidamente se pregunta si el "alor del mdulo de elasticidad a
utilizar "a a ser el de $<< tonD cm
$
en este caso diremos *ue no poniendo la J
e introduciremos a continuacin el "alor de $<<<.
67
Resolucin de una estructura de barras Mtodos Numricos

A continuacin aparece la matriz de rigidez # se indica *ue se
introduzca el n-mero de fuerzas 0orizontales *ue consta el entramado.
4ntroducimos el "alor $.
A0ora es el momento en el *ue se introducen el n-mero del nodo donde
est( aplicada la fuerza as+ como el "alor de la misma. En este ejemplo
68
Resolucin de una estructura de barras Mtodos Numricos
supondremos *ue en el nodo $ 0a# una fuerza 0orizontal 0acia la derec0a de
"alor de $ toneladas, # en el nodo ' una fuerza 0orizontal 0acia la iz*uierda de
"alor de tonelada.
)eparado en l+neas escribimos la secuencia: $
$
'
G
Es a0ora cuando se nos indica *ue se introduzca el n-mero de fuerzas
"erticales *ue aparecen en el entramado. %onsta de ' # por ello introducimos
ese "alor. Adem(s aparece en la figura las fuerzas 0orizontales *ue 0emos
introducido.
69
Resolucin de una estructura de barras Mtodos Numricos
%olocaremos ' fuerzas "erticales 0acia debajo de "alor de tonelada
cada una, situadas en los nodos $,H # ; por lo *ue en programa escribiremos la
siguiente secuencia separada por l+neas: $
G
H
G
;
G
Es a0ora, una "ez introducidos los "alores de las fuerzas "erticales
cuando aparece en la figura todas las fuerzas *ue act-an sobre el
entramado.
70
Resolucin de una estructura de barras Mtodos Numricos
4ntroducidos #a todos los datos, aparecen los desplazamientos en los
nodos as+ como la figura de la deformada del entramado.
El programa finalmente nos da la opcin de guardar el resultado en un
fic0ero o bien de finalizar, nosotros optamos a*u+ por finalizar por lo *ue
introducimos el "alor $.
71
Resolucin de una estructura de barras Mtodos Numricos
E;EM&LO 2
Ntese que la matriz no se ha podido representar completamente
72
Resolucin de una estructura de barras Mtodos Numricos
73
Resolucin de una estructura de barras Mtodos Numricos
E;EM&LO 3
Jtese *ue no se 0a podido representar la matriz en su totalidad.
74
Resolucin de una estructura de barras Mtodos Numricos
75
Resolucin de una estructura de barras Mtodos Numricos
76
Resolucin de una estructura de barras Mtodos Numricos
77
Resolucin de una estructura de barras Mtodos Numricos
1. <I<LIO'RA=A
KKK.google.es
KKK.KiLipedia.org
A#uda del MATLAB
78

También podría gustarte