Está en la página 1de 2

Truss_prop(X)=b:

Esta función consta en encontrar el vector b de un elemento con coordenadas X=[xi,xf], con xi
como el nodo inicial y xf como el final. La dunción define Xi como la primera fila de X, y Xf como la
segunda fila de X, para hacer coincidir Xi y Xf con lo pedido. Por otro lado, dii se define como la
diferencia del nodo final e inicial dividido en la norma de lo mismo. Al final se define el output b
como el vector que contiene los dos primeros elementos positivos de dii y luego los dos primeros
elementos, pero esta vez negativos, de dii.

Truss_Bmatrix (B,Ej,Ni,Nf,bi)=B:

En esta matriz se agrega la contribución de un elemento barra. Primero se debe considerar que
existe una matriz B la cual consta de 2n filas (n como el número de nodos) y m columnas (m como
el número de lados). Ej es el número del elemento, Ni el nodo inicial que compone ese elemento y
Nf el nodo final que lo compone, bi es el vector de coordenadas obtenido en la función anterior
para el elemento.

Ni y Nf se redefinen, considerando que cada fila significa Ni eje x y Ni eje y, por lo que para poder
posicionarnos en el Nodo j eje x tenemos que multiplicar el Nodo j por 2 (esto daría el eje y) y
restarle 1. Luego, se añaden a la matriz B en la fila del nodo inicial o final según corresponda, y en
la fila del elemento (Ej) el valor de la coordenada, siendo b (1) el valor del vector en x, b (2) en y, y
b(3) y b(4) son lo mismo que lo anterior, pero negativos.

Extract_row(A,a,opt)=Br ó Bf ó Ff ó Fr:

Extrae las filas de una matriz A (pueden ser B o F) según el vector a, el cual indica si el nodo tiene
un apoyo (1) o no (0), el input opt por su lado proporciona 1 si es restringido (Br ó Fr) y 0 si es libre
(Bf ó Ff). En la función se ponen dos condiciones, la primera es si opt==1, es decir restringido, esto
nos arroja Br el cual es igual a la primera fila de A, esto para darle disensión a la matriz. Luego
arroja un bucle, el cual va desde 2 hasta el tamaño de a, dentro de este bucle se encuentra
igualmente una condición, la cual dice que si a(i) es igual a 1 (que indica apoyo en el nodo) Br se le
sumara una fila al final que contiene la fila i de la matriz A, en otro caso no se suma nada. Dentro
de la misma condición inicial de opt==1 se verificará si a (1) es efectivamente igual a 1, si no es así
se le resta esa fila extra que su puso, igualándola a vacío ([]). El else del bucle inicial indica opt==0,
y sigue la misma dinámica que el bucle anterior, solo que esta vez se referirá a Bf (aunque
aparezca igualmente Br en el código, pero en el output su sentido es de Bf o Ff), aunque en esa
parte de la condición se considera a==0, la cual indica, como se mencionó anteriormente, que el
nodo no tiene apoyo.

Truss_Show(X,q,color)=L:

Esta función gráfica un elemento del reticulado (una barra) y su esfuerzo axial (q). Para graficar
ocuparemos el comando plot, el cual nos graficara una línea con puntos en x como Xx (contiene al
nodo inicial en x y al nodo final en x) y en y como Xy. Después se inserta el color de la línea con
L.Color=color, este color es una llamada a una función (assign_colors) que fue entregada para
definir los colores en formato RGB. Luego se ponen los nombres de los ejes con ylevel para y,
xlevel para x y el titulo con title. Luego se define txt2 como el esfuerzo axial “q” redondeado al
segundo decimal. Para finalizar se pone este valor con el comando text, con las posiciones Rx y Ry,
las cuales se calcular como la mitad de la diferencia entre el máximo y el mínimo valor de los
nodos final e inicial en x y en y según corresponde, todo esto sumado al mínimo.

Para probar que estuvieran bien los comandos usamos de ejemplo la figura del capítulo 5
(reticulados) diapositiva 14 de las clases. Primero se definirá la matriz de ceros B, de 2nxm,
explicada con anterioridad, luego Ej=1, Ni=1,Nf=2 (elemento, nodo inicial y nodo final
respectivamente). Luego se define la matriz de coordenadas de los nodos, se llama a la función
Truss_prop en (X), y después se vuelve a definir B como la llamada de la función Truss_Bmatrix en
(B, Ej,Ni,Nf,bi). Luego de lo anterior se vuelven a definir bi y B con los valores para cada elemento,
los que se pueden apreciar en el código. Después se definirá a como el vector que nos indica si el
nodo tiene apoyo en x y en y. Por otro lado, también se define f como el vector de reacciones
presentes en el reticulado. Después se definen Br, Bf, ff, fr con la función Extract_row como se
indicó en la explicación de la función. Posteriormente a esto se definirá q como la multiplicación
de la inversa de la matriz Bf negativa por la ff. También se definirá rr como menos fr más br por la
q calculada anteriormente. Ya para finalizar se realizará el gráfico, para esto se ocuparan los
comandos figure, hold on y axis equal, para que los elementos graficados se obtengan todos en un
mismo gráfico. Se define colores como la llamada a la función otorgada por el cuerpo de
ayudantes assign_colors en q, la cual, como se indicó con anterioridad, define los colores que debe
tener cada elemento según el sistema RGB. Luego se llama a la función Truss_Show la cantidad de
veces que se tengan elementos, como se indicó en la definición de la función.

También podría gustarte