De la mano con la complejidad y formalidad que ha representado el estudio del cálculo Integral y el compromiso académico que ello rige, abrimos paso a la intención de un aprendizaje significativo de la Integral Definida en situaciones donde el integrando no tiene antiderivada elemental o cuando se desea interpretar los efectos de razones de cambio variables o constantes en funciones de una variable real con el uso de la herramienta gráfica y de cálculo: Madlad.
En esta oportunidad usaremos Madlad como asistente para:
- Graficar funciones y familias de funciones que manualmente sería una ardua tarea.
- Facilitarnos el cálculo de sumatorias.
- Hacer cambios en los intervalos de integración y parámetros generales para estudiar el comportamiento de la Integral.
- Aportar soluciones numéricas y gráficas a ecuaciones Diferenciales Ordinarias con condiciones iníciales.
Nuestra intención es reconocer lo que el aporte académico y bibliográfico especializado nos ha consolidado, y manipular esas contribuciones en un ambiente de laboratorio de computación donde profesor y alumno experimenten de manera interactiva, cooperativa y agradable, ideas, conceptos y fundamentos Integrales.
El método de Runge-Kutta es un método genérico de resolución numérica de ecuaciones diferenciales. Este conjunto de métodos fue inicialmente desarrollado alrededor del año 1900 por los matemáticos C. Runge y M. W. Kutta.
Los métodos de Runge-Kutta logran la exactitud del procedimiento de una serie de Taylor sin requerir el cálculo de derivadas superiores.
Métodos de Runge-Kutta Los Runge-Kutta no es sólo un método sino una importante familia de métodos iterativos tanto implícitos como explícitos para aproximar las soluciones de ecuaciones diferenciales ordinarias (E.D.O´s), estas técnicas fueron desarrolladas alrededor de 1900 por los matemáticos alemanes Carl David Tolmé Runge. Métodos de Runge - Kutta:
Los métodos de Runge-Kutta se emplean para hallar solución a las ecuaciones diferenciales ordinarias sin necesidad de calcular derivadas de orden superior. Mejoran la aproximación del método de Euler para resolver de modo aproximado el problema de valor inicial:
y`=f(t,y), y(t0)=y0
De acuerdo con la teoría, la expresión general de los métodos explícitos de s etapas de Runge- Kutta es:
Donde:
Objetivo de los métodos de Runge-Kutta:
El objetivo de los métodos numéricos de Runge-Kutta, es el análisis y solución de los problemas de valor inicial de ecuaciones diferenciales ordinarias (EDO), estos son una extensión del método de Euler para resolver las (EDO’S), pero con un orden de exactitud mas alto que este.
Métodos de Runge-Kutta de 2do. Orden
Se encuentran basados en
la expansión en serie de Taylor de una función y(x) alrededor de un punto x=x0 , truncada en el tercer término, es decir, en la segunda derivada
la expansión en serie de Taylor de una función y(x) alrededor de un punto x=x0 , truncada en el tercer término, es decir, en la segunda derivada
El esquema empleado en Runge-Kutta de orden 2 es:
Donde: yi es la coordenada “y” del punto anterior, xi es la coordenada “x” del punto anterior, F(xi,yi) es la derivada evaluada en el punto anterior, F(xi+h/2,yi+k1/2) es la derivada evaluada en el punto anterior con el cambio de variable
Métodos de Runge-Kutta de 3er. Orden
Se basa en la expansión en serie de Taylor de una función y(x) alrededor de un punto x=x0 , truncada en el cuarto término, es decir, en la tercera derivada.
Donde h= (x - x0)
El esquema de Discretización del Método de Runge-Kutta de orden 3 es:

Para Resolver Sistemas de Ecuaciones Diferenciales, se emplearán los siguientes esquemas:
Runge Kutta de Orden 2:
Runge Kutta de Orden 3:
Aplicaciones de Métodos de Runge Kutta en la Agroindustria:
La importancia de dichos métodos radica en que pueden emplearse para resolver situaciones que pueden presentarse en la agroindustria ó industria manufacturera en general, entre éstas se encuentran:
Un problema fundamental en la biología es el crecimiento, sea este el crecimiento de una célula, un organismo, un ser humano, una planta o una población.
- Problemas de Epidemiología:
Un problema importante de la biología y de la medicina trata de la ocurrencia, propagación y control de una enfermedad contagiosa, esto es, una enfermedad que puede transmitirse de un individuo a otro. La ciencia que estudia este problema se llama epidemiología K, y si un porcentaje grande no común de una población adquiere la enfermedad, decimos que hay una epidemia.
- Aplicaciones a la Economía: Oferta y demanda, inventarios, etc.
- Mezclas Químicas
- Aplicaciones a flujo de calor en estado estacionario
- Movimiento armónico simple.
- Segunda Ley de Newton.
- Movimientos Vibratorios.
- Estudio de Fluidos
Algoritmo
El algoritmo empleado para Runge Kutta de orden 2 sería:
%Metodo Runge-Kutta de 2doOrden
x=2;
y=1;
t=0;
tmax=3;
h=0.2;
iter=round((tmax-t)/h);
vectorx=x;
vectory=y;
vectort=t;
for i=1:iter
%calculo de las constantes de Runge-Kutta
K1x=(2*(t^2+x))*h;
K1y=(-5*t^3)*h
F1=(2*(t+h/2)^2+(x+K1x/2))*h;
F2=(-5*(t+h/2)^3)*h;
x=x+F1;
y=y+F2;
t=t+h;
vectorx=[vectorx x];
vectory=[vectory y];
vectort=[vectort t];
end
vectorx
vectory
vectort
subplot (1,2,1);
plot(vectort,vectorx,'y-o');
title('Metodo Runge-Kutta 2doOrden. t vs x');
xlabel('valores t');
ylabel('valores x');
subplot (1,2,2);
plot(vectort,vectory,'b-p');
title('Metodo Runge-Kutta 2doOrden. y vs t');
xlabel('valores t');
ylabel('valores y');
Para Runge Kutta de 3er orden:
Metodo Runge-Kutta de 3erOrden
x=2;
y=1;
t=0;
tmax=3;
h=0.2;
iter=round((tmax-t)/h);
vectorx=x;
vectory=y;
vectort=t;
for i=1:iteraciones
%calculo de las constantes de Runge-Kutta
K1x=(2*(t^2+x))*h;
K1y=(-5*t^3)*h;
K2x=(2*(t+h/2)^2+(x+K1x/2))*h;
K2y=(-5*(t+h/2)^3)*h;
K3x=(2*(t+h)^2+(x+2*K2x-K1x))*h;
K3y=(-5*(t+h)^3)*h;
x=x+(K1x+4*K2x+K3x)/6;
y=y+(K1y+4*K2y+K3y)/6;
t=t+h;
vectorx=[vectorx x];
vectory=[vectory y];
vectort=[vectort t];
end
vectorx
vectory
vectort
subplot (1,2,1);
plot(vectort,vectorx,'y-o');
title('Metodo Runge-Kutta 3erOrden. x vs t');
xlabel('valores t');
ylabel('valores x');
subplot (1,2,2);
plot(vectort,vectory,'b-p');
title('Metodo Runge-Kutta 3erOrden. y vs t');
xlabel('valores t');
ylabel('valores y');
Ejercicios
1. En una empresa de embutidos se notó que el crecimiento de bacteria Listeria Monocytogenes se define a partir del siguiente sistema de ecuaciones diferenciales en 3 productos distintos. Se requiere conocer gráficamente el crecimiento de la bacteria en cada producto, tomando como valores iniciales los siguientes:
El Algoritmo en Matlab es:
%Metodo Runge-Kutta de 2doOrden
u1=2;
u2=2;
u3=1;
t=0;
tmax=2;
h=0.1;
iter=round((tmax-t)/h);
vectoru1=u1;
vectoru2=u2;
vectoru3=u3;
vectort=t;
for i=1:iter
%calculo de las constantes de Runge-Kutta
K1u1=(t^2+u2-u3)*h;
k1u2=(-t^3)*h;
k1u3=(u2+exp(-2*t))*h;
F1=((t+h/2)^2+(u2+k1u2/2)-(u3-k1u3/2))*h;
F2=(-(t+h/2)^3)*h;
F3=((u2+k1u2/2)+exp(-2*(t+h/2)))*h;
u1=u1+F1;
u2=u2+F2;
u3=u3+F3;
t=t+h;
vectoru1=[vectoru1 u1];
vectoru2=[vectoru2 u2];
vectoru3=[vectoru3 u3];
vectort=[vectort t];
end
vectoru1
vectoru2
vectoru3
vectort
figure
subplot (2,2,1);
plot(vectort,vectoru1,'y-o');
title('Metodo Runge-Kutta 2doOrden. u1 vs t');
xlabel('valores t');
ylabel('valores u1');
subplot (2,2,2);
plot(vectort,vectoru2,'b-p');
title('Metodo Runge-Kutta 2doOrden. u2 vs t');
xlabel('valores t');
ylabel('valores u2');
subplot (2,2,3);
plot(vectort,vectoru3,'r-+');
title('Metodo Runge-Kutta 2doOrden. u3 vs t');
xlabel('valores t');
ylabel('valores u3');
La solución es:
vectoru1 =
Columns 1 through 7
2.0000 2.08525 2.2025 2.2656 2.3078 2.3318 2.3403
Columns 8 through 14
2.3351 2.3178 2.2895 2.2510 2.2024 2.1437 2.0742
Columns 15 through 21
1.9931 1.8988 1.7897 1.6637 1.5185 1.3513 1.1594
vectoru2 =
Columns 1 through 7
2.0000 2.0000 1.9996 1.9981 1.9938 1.9847 1.9680
Columns 8 through 14
1.9406 1.8984 1.8370 1.7512 1.6355 1.4834 1.2881
Columns 15 through 21
1.0420 0.7372 0.3648 -0.0844 -0.6204 -1.2535 -1.9950
vectoru3 =
Columns 1 through 7
1.0000 1.10952 1.5646 1.8251 2.0745 2.3142 2.5453
Columns 8 through 14
2.7683 2.9830 3.1885 3.3835 3.5659 3.7328 3.8807
Columns 15 through 21
4.0053 4.1012 4.1626 4.1823 4.1523 4.0636 3.9059
vectort =
Columns 1 through 7
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000
Columns 8 through 14
0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000
Columns 15 through 21
1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000
La solución Gráfica es:
Runge Kutta de orden 3
1. La demanda de yogurt en varias ciudades del país se modela por las siguientes ecuaciones:
Muestre gráficamente el comportamiento del mercado si la demanda incrementa 20 %.
Solución:
Para este caso, la variable independiente es t, por tanto:
t1 = to + h = 0 + 0,2 = 0,2
Al igual que Runge Kutta de orden 2 se procederá a hallar las variables dependientes para lo cual se necesitan los respectivos valores de k:
k1x=hF(ti,xi,yi,zi)
k1x= 0,2* (02 + 2 +1)
(0.2, 2.804, 0.8996, 1,48)
k3x= 0,2 * (0,22 + 2.804 + 1.48)
k3x= 0,8648
k3y = h*G(t0+h, x0 + 2k2x-k1x, y0 +2k2y –k1y, z0+2k2z-k1z)
k3y= 0,2* (-0.23)
k3y = -0,0016
k3z = h*H(t0+h, x0 + 2k2x-k1x, y0 +2k2y –k1y, z0+2k2z-k1z)
k3z= 0,2* (1,48+0.89962)
k3z= 0,457856
Una vez halladas las respectivas k1, k2 y k3 por variable, se procederá a calcular las variables independientes:
x1 = x0 + (k1x+4*k2x+k3x)/6
x1 = 2 + (0,6+4*0,702+0,8648)/6
x1=2,7121
y1 = y0 + (k1y+4*k2y+k3y)/6
y1 = 1 + (0+4*(-0,0002)-0,0016)/6
y1=0,9996
z1 = z0 + (k1z+4*k2z+k3z)/6
z1 = 1 + (0,4+4*0,44+0,457856)/6
z1=1,436309333
Construyendo una tabla de resultados:
%Metodo Runge-Kutta de 3erOrden
x=2;
y=1;
z=1;
t=0;
tmax=3;
h=0.2;
iteraciones=round((tmax-t)/h);
vectorx=x;
vectory=y;
vectorz=z;
vectort=t;
for i=1:iteraciones
%calculo de las constantes de Runge-Kutta
K1x=(t^2+x+z)*h;
K1y=(-t^3)*h;
K1z=(z+y^2)*h;
K2x=((t+h/2)^2+(x+K1x/2)+(z+K1z/2))*h;
K2y=(-(t+h/2)^3)*h;
K2z=((z+K1z/2)+(y+K1y/2)^2)*h;
K3x=((t+h)^2+(x+2*K2x-K1x)+(z+2*K2z-K1z))*h;
K3y=(-(t+h)^3)*h;
K3z=((z+2*K2z-K1z)+(y+2*K2y-K1y)^2)*h;
x=x+(K1x+4*K2x+K3x)/6;
y=y+(K1y+4*K2y+K3y)/6;
z=z+(K1z+4*K2z+K3z)/6;
t=t+h;
vectorx=[vectorx x];
vectory=[vectory y];
vectorz=[vectorz z];
vectort=[vectort t];
end
vectorx
vectory
vectorz
vectort
figure
subplot (2,2,1);
plot(vectort,vectorx,'y-o');
title('Metodo Runge-Kutta 3erOrden. x vs t');
xlabel('valores t');
ylabel('valores x');
subplot (2,2,2);
plot(vectort,vectory,'b-p');
title('Metodo Runge-Kutta 3erOrden. y vs t');
xlabel('valores t');
ylabel('valores y');
subplot (2,2,3);
plot(vectort,vectorz,'r-x');
title('Metodo Runge-Kutta 3erOrden. z vs t');
xlabel('valores t');
ylabel('valores z');
figure
plot(vectort,vectorx,'y-o');
hold on
plot(vectort,vectory,'b-p');
plot(vectort,vectorz,'r-x');
xlabel('valores t');
ylabel('valores x,y,z');
legend('x','y','z');
title('Metodo Runge-Kutta 3erOrden.soluciones del sistema de ecuaciones');
La solución es:
vectorx =
Columns 1 through 7
2.0000 2.7121 3.7072 5.0889 6.9870 9.5621 13.0114
Columns 8 through 14
17.5784 23.5731 31.4160 41.7302 55.5229 74.5253 101.7953
Columns 15 through 16
142.7467 206.8425
vectory =
Columns 1 through 7
1.0000 0.9996 0.9936 0.9676 0.8976 0.7500 0.4816
Columns 8 through 14
0.0396 -0.6384 -1.6244 -3.0000 -4.8564 -7.2944 -10.4244
Columns 15 through 16
-14.3664 -19.2500
vectorz =
Columns 1 through 7
1.0000 1.4426 1.9823 2.6352 3.4139 4.3246 5.3728
Columns 8 through 14
6.5856 8.0707 10.1411 13.5512 19.9089 32.3546 56.6304
Columns 15 through 16
102.7057 187.1754
vectort =
Columns 1 through 7
0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000
Columns 8 through 14
1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000
Columns 15 through 16
2.8000 3.0000
Las soluciones Gráficas son:
Conclusión
Hemos presentado la idea de un tratamiento didáctico para una salida al rigor en la noción de la Integral Definida en una variable usando Madlad, una sofisticada herramienta que nos ha permitido analizar los efectos totales de cambio en funciones de una variable esgrimiendo cálculos repetitivos, dando así la oportunidad de cómodas y nutritivas experiencias pedagógicas que nos ayuda a enfrentar por primera vez a tal complejidad, y más importante aún, permite construir experiencias de aprendizaje a partir del análisis e identificación del proceso numérico a seguir según las condiciones del problema.
La simulación se ha convertido en una herramienta fundamental del ingeniero puesto que permite establecer las dimensiones geométricas y las condiciones límites y normales de operación de los equipos de proceso, razones por las cuales es necesario el desarrollo de modelos cada vez más rigurosos que representen con precisión el fenómeno al que corresponden.
Dado que las ecuaciones de estado producen resultados acertados, las fallas en las ecuaciones de estado deben estar en los modelos empleados para obtener sus parámetros, por lo cual es necesario desarrollar reglas que se apliquen a todo tipo de mezclas y que sean teóricamente correctas, de manera que puedan generarse datos confiables.
Dado que existe un elevado número de métodos numéricos, deben establecerse criterios eficaces de decisión que permitan seleccionar el más adecuado de acuerdo con los requerimientos del problema y tomando en cuenta las limitaciones del equipo en el que se planea llevar a cabo los cálculos. Los criterios deben considerar la estabilidad del método, el tipo de sistema a resolver y su posible rigidez, el manejo de errores y el tamaño del paso, entre otros.
La interfaz gráfica garantiza el hecho de que el sistema que se desea simular quede completamente especificado puesto que obliga el ingreso de los datos necesarios para que los grados de libertad sean cero y de otra forma no permite realizar la simulación.
Los sistemas algebraico-diferenciales no poseen un método general que permita su resolución, razón por la cual es necesario desarrollar en cada caso específico un algoritmo de solución que organice las ecuaciones y administre la aplicación de los métodos numéricos, de tal forma que la solución pueda alcanzarse.
Bibliografía:
Steven C. Chapra, Raymond P. Canale Editorial: MGH La quinta edición de Métodos numéricos para ingenieros