Un modelo matemático general se define como
\begin{equation} \text{variable dependiente} = f(\text{variables independientes}, \text{parámetros}, \text{funciones de fuerza}) \end{equation}donde la variable dependiente es una característica que refleja el comportamiento o estado de un sistema, las variables independientes son comunmente dimensiones (tiempo, espacio), los parámetros se refieren a las propiedades o componentes del sistema y las funciones de fuerza son influencias externas u otros modelos.
La mayoria de los modelos matemáticos no pueden resolverse analíticamente, tomemos como ejemplo la segunda ley del movimiento
\begin{equation*} F = m a \end{equation*}puede reordenarse como
\begin{equation*} a = \frac{F}{m} \end{equation*}donde $a$ es la variable dependiente, explícitamente no existe variable independiente, $m$ es un parámetro y $F$ es una función de fuerza.
Si planteamos el anterior modelo como una ecuación diferencial para un cuerpo en caída libre
\begin{equation*} \frac{d v}{d t} = \frac{F}{m} \end{equation*}y $F$ como la suma de dos fuerzas opuestas
\begin{equation*} F = F_{u} + F_{d} \end{equation*}si a la fuerza hacia abajo se le asigna el signo positivo
\begin{equation*} F_{d} = m g \end{equation*}entonces la fuerza debido a la resistencia del aire es
\begin{equation*} F_{u} = -c v \end{equation*}reemplazando todos los términos conocidos tenemos
\begin{equation*} \frac{d v}{d t} = g - \frac{c v}{m} \end{equation*}resolviendo para las condiciones $v = 0$ y $t = 0$
\begin{equation*} v(t) = \frac{g m}{c} ( 1 - e^{-t \frac{c}{m}}) \end{equation*}donde $v(t)$ es la variable dependiente, $t$ es la variable independiente, $c$ y $m$ son parámetros y $g$ es una función de fuerza.
Para un cuerpo con masa $68.1 \ kg$. y coeficente de resistencia del aire $12.5 \ \frac{kg}{s}$ tenemos:
In [1]:
m = 68.1
c = 12.5
g = 9.81
println("t", '\t', "v")
for t = 0:20
v = ((g * m) / c) * (1 - exp(-t * (c/m)))
println(t, '\t', v)
end
El modelo anterior se resolverá mediante el método de Euler
\begin{equation*} \frac{d v}{d t} \approx \frac{\Delta v}{\Delta t} = \frac{v(t_{i+1}) - v(t_{i})}{t_{i+1} - t_{i}} \end{equation*}reemplazando en la ecuación diferencial
\begin{equation*} \frac{v(t_{i+1}) - v(t_{i})}{t_{i+1} - t_{i}} = g - \frac{c v(t_{i})}{m} \end{equation*}despejando $v(t_{i+1})$
\begin{equation*} v(t_{i+1}) = v(t_{i}) + (g - \frac{c}{m} v(t_{i})) (t_{i+1} - t_{i}) \end{equation*}
In [2]:
m = 68.1
c = 12.5
g = 9.81
ti = 0
vi = 0
println("t", '\t', "v")
println(ti, '\t', vi)
for i = 1:20
tf = ti + 1
vf = vi + ((g - ((c / m) * vi)) * (tf - ti))
println(tf, '\t', vf)
vi = vf
ti = tf
end
Comparamos las soluciones:
In [3]:
using PyCall
using PyPlot
m = 68.1
c = 12.5
g = 9.81
ta = linspace(0,20,21)
va = zeros(21)
for i = 1:21
va[i] = ((g * m) / c) * (1 - exp(-ta[i] * (c/m)))
end
tn = zeros(21)
vn = zeros(21)
for i = 1:20
tn[i+1] = tn[i] + 1
vn[i+1] = vn[i] + ((g - ((c / m) * vn[i])) * (tn[i+1] - tn[i]))
end
plot(ta, va, color="blue", linewidth=2.0,label="Solución exacta")
plot(tn, vn, color="red", linewidth=2.0,label="Solución numérica")
xlabel(L"$t$")
ylabel(L"$v$")
legend(loc="upper left",fancybox="true")
title("Caída libre")
grid("on")