Está en la página 1de 61

MÉTODOS NUMÉRICOS APLICADOS A LA

INGENIERÍA CIVIL

Juliana Ramirez C.
jramirezca@unal.edu.co
Docente
Universidad Nacional de Colombia
Sede Manizales
Problema

Suponga que una empresa de puenting lo contrata. Se le asigna la


tarea de predecir la velocidad de un bungee jumper (Fig. 1.1) en
función del tiempo durante la parte de caída libre del salto. Esta
información se utilizará como parte de un análisis más amplio para
determinar la longitud y la resistencia requerida del cable elástico
para bungee jumpers de diferente masa. Usted sabe por sus
estudios de física que la aceleración debería ser igual a la relación
entre la fuerza y la masa (la segunda ley de Newton).
En base a esta información y su conocimiento de la física y la mecánica de
fluidos, desarrolla el siguiente modelo matemático para la tasa de cambio de
velocidad con respecto al tiempo,

Donde v = velocidad de caída vertical (m/s), t = tiempo (s), g = aceleración de


la gravedad (=9,81 𝑚/𝑠 2 ), 𝒄𝒅 = coeficiente de arrastre agrupado (Kg/m) y m
= la masa del saltador (Kg). El coeficiente de arrastre se denomina "agrupado"
porque su magnitud depende de factores como el área del bungee jumper y la
densidad del fluido.
La ecuación (1.8) es un modelo que relaciona la aceleración de un objeto que
cae con las fuerzas que actúan sobre él. Es una ecuación diferencial porque
está escrita en términos de la tasa de cambio diferencial (𝑑𝜐 / 𝑑𝑡) de la
variable que estamos interesados en predecir. Sin embargo en contraste con la
solución de la segunda ley de Newton en la ecuación

la solución exacta de la ecuación (1.8) para la velocidad del bungee jumper no


se puede obtener utilizando una simple manipulación algebraica. Más bien, se
deben aplicar técnicas más avanzadas como las de cálculo para obtener una
solución exacta o analítica.
Por ejemplo, si el bungee jumper está inicialmente en reposo (𝜐 = 0 en 𝑡 = 0), se
puede usar el cálculo para resolver la ecuación (1.8) para
Solución analítica al problema del Bungee Jumper

Planteamiento del problema. Un bungee jumper con una masa de 68,1 kg salta
de un globo de aire caliente estacionario. Use la ecuación (1.9) para calcular la
velocidad de los primeros 12s de caída libre. También determine la velocidad
terminal que se alcanzará para un cable infinitamente largo (o
alternativamente, ¡el buengee jumper está teniendo un día particularmente
malo!). Use un coeficiente de arrastre de 0.25 kg/m.
Solución: Insertando los parámetros en la ecuación (1.9), nos da:

La cual se puede emplear para calcular


Según el modelo, el bungee jumper acelera rápidamente (Fig. 1.2). Se alcanza
una velocidad de 49,4214m/s después de 10s. Tenga en cuenta también que
después de un tiempo suficientemente largo, se alcanza una velocidad
constante, llamada velocidad terminal, de 51.6983m/s. Esta velocidad es
constante porque, eventualmente, la fuerza de gravedad estará en equilibrio con
la resistencia del aire. Por lo tanto, la fuerza neta es cero y la aceleración ha
cesado.

FIGURA 1.2 La solución analítica para


el problema del puenting como se
calcula en el ejemplo. La velocidad
aumenta con el tiempo y se acerca
asintóticamente a una velocidad
terminal.
La ecuación (1.9) se llama una solución analítica o de forma cerrada porque satisface
exactamente la ecuación diferencial original. Desafortunadamente, hay muchos
modelos matemáticos que no pueden resolverse exactamente. En muchos de estos
casos, la única alternativa es desarrollar una solución numérica que se aproxime a la
solución exacta. Los métodos numéricos son aquellos en los que el problema
matemático se reformula para que pueda resolverse mediante operaciones
aritméticas. Esto puede ilustrarse para la ecuación (1.8) al darse cuenta de que la
tasa de cambio de la velocidad con respecto al tiempo se puede aproximar por:
FIGURA 1.3
El uso de una diferencia finita para
aproximar la primera derivada de 𝜐
con respecto a 𝑡.
La ecuación (1.11) se llama aproximación de diferencia finita de la derivada en el
tiempo 𝑡𝑖 . Se puede sustituir en la ecuación (1.8) para dar

Esta ecuación se puede reorganizar para producir


Solución numérica al problema del Bungee Jumper

Planteamiento del problema. Realice el mismo cálculo que en el ejemplo anterior


pero use la ecuación (1.12) para calcular la velocidad con el método de Euler.
Emplee un tamaño de paso de 2s para el cálculo.
Solución. Al comienzo del cálculo (𝑡0 = 0), la velocidad del bungee jumper es cero.
Usando esta información y los valores de los parámetros del ejemplo, la ecuación
(1.12) se puede usar para calcular la velocidad en 𝑡1 = 2s:

Para el siguiente intervalo (de t = 2 a 4s), el cálculo se repite, con el resultado


El cálculo se continúa de manera similar para obtener valores adicionales:

FIGURA 1.4
Comparación de las soluciones numéricas y
analíticas para el problema del bungee jumper.
Podemos ver que el método numérico captura las características esenciales de
la solución exacta. Sin embargo, debido a que hemos empleado segmentos de
línea recta para aproximar una función de curva continua, existe cierta
discrepancia entre los dos resultados. Una forma de minimizar tales
discrepancias es usar un tamaño de paso más pequeño.
FUNDAMENTOS DE MATLAB

MATLAB usa tres ventanas principales:

• Command Window (Ventana de comando). Se usa para ingresar comandos y


datos.
• Graphics window (Ventana de gráficos). Se usa para mostrar diagramas y
gráficos.
• Edit window (Ventana de edición). Se utiliza para crear y editar M-files
(archivos.m)
El modo de calculadora de MATLAB funciona de manera secuencial a medida que
escribe comandos línea por línea. Para cada comando, obtienes un resultado. Por
ejemplo, si escribe
ASIGNACIÓN

La asignación se refiere a asignar valores a nombres de variables. Esto da como


resultado el almacenamiento de los valores en la ubicación de memoria
correspondiente al nombre de la variable.

Escalares
La asignación de valores a variables escalares es similar a otros lenguajes de
computadora.

Si colocamos un punto y coma (;) al final de la asignación, Matlab no imprimirá el


resultado en pantalla
Observe cómo MATLAB muestra cuatro decimales. El siguiente es un resumen
de los comandos de formato que se emplean habitualmente en cálculos de
ingeniería y científicos. Todos tienen la sintaxis: format type
Arreglos, vectores y matrices

Un arreglo es una colección de valores que están representados por un solo


nombre de variable. Los arreglos unidimensionales se denominan vectores y los
arreglos bidimensionales se denominan matrices. Los escalares son en realidad
matrices con una fila y una columna. Los corchetes se usan para ingresar matrices
en el modo de comando. Por ejemplo, un vector de fila se puede asignar de la
siguiente manera:
En la práctica, los vectores fila rara vez se usan para resolver problemas
matemáticos. Cuando hablamos de vectores, generalmente nos referimos a los
vectores de columna, que se usan más comúnmente. Se puede ingresar un vector
de columna de varias maneras:
o, al transponer un vector de fila con el operador ',
Se puede asignar una matriz de valores de la siguiente manera:

Además, la tecla Enter se puede usar para separar las filas. Por ejemplo, en el
siguiente caso, la tecla Enter se presionaría después del 3, el 6 y el ] para asignar la
matriz:
Finalmente, podríamos construir la misma matriz concatenando (es decir,
uniendo) los vectores que representan cada columna:

En cualquier momento de una sesión, se puede obtener una lista de todas las
variables actuales ingresando el comando who:
o, con más detalle, ingrese el comando whos:
Tenga en cuenta que la notación de subíndice se puede utilizar para acceder a un
elemento individual de una matriz. Por ejemplo, el cuarto elemento del vector de
columna b se puede mostrar como

Para una matriz, 𝐴(𝑚, 𝑛) selecciona el elemento en la m-ésima fila y la n-ésima


columna. Por ejemplo,
Hay varias funciones integradas que se pueden usar para crear matrices.
El operador de dos puntos

El operador de dos puntos es una herramienta poderosa para crear y manipular


matrices. Si se usan dos puntos para separar dos números, MATLAB genera los
números entre ellos usando un incremento de uno:
Si se usan dos puntos para separar tres números, MATLAB genera los números
entre el primer y el tercer número usando un incremento igual al segundo
número:

Tenga en cuenta que también se pueden usar incrementos negativos:


Además de crear series de números, los dos puntos también se pueden usar como
comodín para seleccionar las filas y columnas individuales de una matriz. Cuando se
utilizan dos puntos en lugar de un subíndice específico, los dos puntos representan
la fila o columna completa. Por ejemplo, la segunda fila de la matriz A se puede
seleccionar como:
La función linspace

Estas funciones proporcionan otra forma de generar vectores o puntos


espaciados. La función linspace genera vectores fila con puntos igualmente
espaciados. Tiene la forma:

El cual genera n puntos entre x1 y x2

Si el n se omite automáticamente se generan 100 puntos


Cadenas de caracteres

Para el ingreso de variables de caracteres se ingresan sus valores entre comillas:


Si se tiene una línea muy larga, se puede continuar en el siguiente renglón,
empleando tres puntos consecutivos

Sin embargo, con una cadena de caracteres, no es posible emplear los puntos
suspensivos entre las comillas. Sólo puede hacerlo de la siguiente manera:
Algunas funciones útiles para cadenas de caracteres
OPERACIONES MATEMÁTICAS

Las operaciones con cantidades escalares se manejan de manera directa,


similar a otros lenguajes de computadora. Los operadores comunes, en orden
de prioridad, son

2 Left division aplica en algebra matricial.


Estos operadores trabajarán de manera calculadora
El producto interno de dos vectores (producto punto) se puede calcular
utilizando el operador *,
y del mismo modo, el producto exterior
Para ilustrar mejor la multiplicación de matriz de vectores, primero redefina a
y b:
Las matrices no se pueden multiplicar si las dimensiones internas son desiguales.
Esto es lo que sucede cuando las dimensiones no son las requeridas por las
operaciones.
Los . que precede al operador ^ significa que la operación se llevará a cabo
elemento por elemento. Se les conoce a menudo como operaciones
elemento por elemento.

Si presione la tecla de flecha hacia arriba. Debería recuperar la última línea que
escribió.
USO DE FUNCIONES INTEGRADAS

MATLAB y sus Toolbox tienen una rica colección de funciones integradas. Puede
usar la ayuda en línea para obtener más información sobre ellos. Por ejemplo, si
desea obtener información sobre la función log, escriba:
Una de sus propiedades importantes de las funciones integradas de MATLAB
es que operarán directamente en cantidades vectoriales y matriciales. Por
ejemplo, intente
La mayoría de las funciones, como sqrt, abs, sin, acos, tanh y exp, operan
componente a componente. Ciertas funciones, como la exponencial y la raíz
cuadrada, también tienen definiciones de matriz. MATLAB evaluará la versión
de la matriz cuando la letra m se agrega al nombre de la función.
Hay varias funciones para redondear. Por ejemplo, supongamos que ingresamos un
vector:
La función round redondea los elementos de E a los enteros más cercanos:

La función ceil se redondea a los enteros más cercanos hacia el infinito:

La función floor redondea a los enteros más cercanos hacia menos infinito:
También hay funciones que realizan acciones especiales en los elementos de
arreglos y matrices. Por ejemplo, la función sum devuelve la suma de los
elementos:

De manera similar, con los siguientes comandos:


Un uso común de las funciones es evaluar una fórmula para una serie de
argumentos. Recuerde que la velocidad de un bungee jumper en caída libre se puede
calcular con [Eq. (1.9)]:

Creamos un vector columna t que contenga valores


de 0 a 20 en pasos de 2:
Verifiquemos el número de elementos en t con la función de longitud length:

Asignamos valores a los parámetros:


MATLAB le permite evaluar una fórmula como 𝜐 = 𝑓 (𝑡), donde la fórmula se
calcula para cada valor de t, y el resultado se asigna a una posición
correspondiente en la matriz 𝜐. Para nuestro caso
GRÁFICOS

MATLAB permite crear gráficos de manera rápida y conveniente. Por ejemplo, para
crear un gráfico de los vectores t y 𝒗 a partir de los datos anteriores, ingrese

El gráfico aparece en la ventana de


gráficos y se puede imprimir o
transferir a través del portapapeles
a otros programas.
Puede personalizar el gráfico un poco con comandos como los siguientes:
El comando plot muestra una línea azul delgada y sólida de forma
predeterminada. Si desea trazar cada punto con un símbolo, puede incluir un
especificador entre comillas simples en la función plot. La tabla enumera los
especificadores disponibles. Por ejemplo, si desea usar círculos abiertos, ingrese
También puede combinar varios especificadores. Por ejemplo, si desea utilizar
marcadores verdes cuadrados conectados por líneas discontinuas verdes, puede
ingresar

También puede controlar el ancho de línea, así como el tamaño del marcador y sus
colores de borde y cara (es decir, interior). Por ejemplo, el siguiente comando usa
una línea cian discontinua más gruesa (2 puntos) para conectar marcadores más
grandes (10 puntos) en forma de diamante con bordes negros y caras magenta:
Cabe mencionar que, de forma predeterminada, las gráficas anteriores se borran
cada vez que se implementa el comando plot. El comando hold on retiene el
diagrama actual y todas las propiedades del eje para que se puedan agregar
comandos gráficos adicionales al diagrama existente. El comando hold off vuelve al
modo predeterminado. Por ejemplo, si hubiéramos escrito los siguientes comandos,
el diagrama final solo mostraría símbolos:

Por el contrario, los siguientes comandos darían lugar a la visualización de líneas y


símbolos:
Además de mantener, otra función útil de hold es el subplot , que le permite
dividir la ventana de gráficos en subventanas o paneles. Tiene la sintaxis:

Este comando divide la ventana del gráfico en una matriz m-por-n de ejes
pequeños y selecciona el p-ésimo eje para la gráfica actual.
Se puede demostrar el subplot examinando la capacidad de MATLAB para generar
gráficas tridimensionales. La manifestación más simple de esta capacidad es el
comando plot3 que tiene la sintaxis

donde x, y y z son tres vectores de la misma longitud. El resultado es una línea en


el espacio tridimensional a través de los puntos cuyas coordenadas son los
elementos de x, y y z.
Trazar una hélice proporciona un buen ejemplo para ilustrar su utilidad. Primero,
grafiquemos un círculo con la función plot bidimensional usando la representación
paramétrica: 𝑥 = sin(𝑡) e 𝑦 = cos(𝑡). Empleamos el comando subplot para que
luego podamos agregar el diagrama tridimensional.
El resultado es un círculo. Tenga en cuenta que el círculo se habría distorsionado
si no hubiéramos utilizado el comando axis square.
Ahora, agreguemos la hélice al panel derecho del gráfico. Para hacer esto,
nuevamente empleamos una representación paramétrica: 𝑥 = sin(𝑡) , 𝑦 =
cos(𝑡) y 𝑧 = 𝑡

También podría gustarte