<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Amlopez</id>
		<title>MateWiki - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://mat.caminos.upm.es/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Amlopez"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Amlopez"/>
		<updated>2026-04-30T15:42:50Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=28209</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=28209"/>
				<updated>2015-03-06T14:13:18Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método del trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI =   &lt;br /&gt;
\begin{cases}&lt;br /&gt;
 y_0 \\&lt;br /&gt;
 y_{n+1}  = y_n + h*f(t_n,y_n) \\&lt;br /&gt;
\end{cases}\quad&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a aplicar un método de integración numérica conocido como el Método del Trapecio por aproximar el valor de la integral al del área de un trapecio. Su expresión matemática es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI =   &lt;br /&gt;
\begin{cases}&lt;br /&gt;
 y_0 \\&lt;br /&gt;
 y_{n+1}  =  y_n + \frac{h}{2}*f(t_n,y_n)\\&lt;br /&gt;
\end{cases}\quad&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
Introducimos esta expresión en el código y obtenemos la gráfica de la solución.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema no lineal de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
En este caso aplicaremos en el siguiente código la expresión para EDO a cada una de las ecuaciones que conforma el sistema, obteniendo la correspondiente gráfica.&lt;br /&gt;
 &lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Como cabía esperar, obtenemos la misma solución resolviendo el problema como sistema o como EDO. Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema anterior con este método, con pasos &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;, y lo compararemos con la resolución del sistema con el método de Heun, que se asemeja más a la solución exacta.&amp;lt;br /&amp;gt;&lt;br /&gt;
En la comparación representaremos en azul el método de Heun y en rojo el método de Euler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.01&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:1estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:1estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.001&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:2estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en las imágenes de los dos procesos las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso el método de Euler es estable para los pasos que hemos usado.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=28208</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=28208"/>
				<updated>2015-03-06T14:12:32Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI =   &lt;br /&gt;
\begin{cases}&lt;br /&gt;
 y_0 \\&lt;br /&gt;
 y_{n+1}  = y_n + h*f(t_n,y_n) \\&lt;br /&gt;
\end{cases}\quad&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a aplicar un método de integración numérica conocido como el Método del Trapecio por aproximar el valor de la integral al del área de un trapecio. Su expresión matemática es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
Introducimos esta expresión en el código y obtenemos la gráfica de la solución.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema no lineal de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
En este caso aplicaremos en el siguiente código la expresión para EDO a cada una de las ecuaciones que conforma el sistema, obteniendo la correspondiente gráfica.&lt;br /&gt;
 &lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Como cabía esperar, obtenemos la misma solución resolviendo el problema como sistema o como EDO. Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema anterior con este método, con pasos &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;, y lo compararemos con la resolución del sistema con el método de Heun, que se asemeja más a la solución exacta.&amp;lt;br /&amp;gt;&lt;br /&gt;
En la comparación representaremos en azul el método de Heun y en rojo el método de Euler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.01&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:1estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:1estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.001&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:2estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en las imágenes de los dos procesos las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso el método de Euler es estable para los pasos que hemos usado.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=28206</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=28206"/>
				<updated>2015-03-06T14:09:11Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a aplicar un método de integración numérica conocido como el Método del Trapecio por aproximar el valor de la integral al del área de un trapecio. Su expresión matemática es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
Introducimos esta expresión en el código y obtenemos la gráfica de la solución.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema no lineal de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
En este caso aplicaremos en el siguiente código la expresión para EDO a cada una de las ecuaciones que conforma el sistema, obteniendo la correspondiente gráfica.&lt;br /&gt;
 &lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Como cabía esperar, obtenemos la misma solución resolviendo el problema como sistema o como EDO. Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema anterior con este método, con pasos &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;, y lo compararemos con la resolución del sistema con el método de Heun, que se asemeja más a la solución exacta.&amp;lt;br /&amp;gt;&lt;br /&gt;
En la comparación representaremos en azul el método de Heun y en rojo el método de Euler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.01&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:1estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:1estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.001&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:2estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en las imágenes de los dos procesos las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso el método de Euler es estable para los pasos que hemos usado.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27856</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27856"/>
				<updated>2015-03-06T11:51:27Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a aplicar un método de integración numérica conocido como el Método del Trapecio por aproximar el valor de la integral al del área de un trapecio. Su expresión matemática es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
Introducimos esta expresión en el código y obtenemos la gráfica de la solución.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema no lineal de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
En este caso aplicaremos en el siguiente código la expresión para EDO a cada una de las ecuaciones que conforma el sistema, obteniendo la correspondiente gráfica.&lt;br /&gt;
 &lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable.&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema usando &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;. Para ello usaremos el mismo programa anterior simplemente variando h. La línea azul representa el programa que usa &amp;quot;h=0.01&amp;quot; y la línea roja representa el programa que usa &amp;quot;h=0.001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparacioneulers123.jpg|400px|miniaturadeimagen|izquierda|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
[[Archivo:Comparacioneulers321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en la primera imágen las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso es estable.&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Como cabía esperar, obtenemos la misma solución resolviendo el problema como sistema o como EDO. Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema anterior con este método, con pasos &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;, y lo compararemos con la resolución del sistema con el método de Heun, que se asemeja más a la solución exacta.&amp;lt;br /&amp;gt;&lt;br /&gt;
En la comparación representaremos en azul el método de Heun y en rojo el método de Euler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.01&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:1estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:1estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.01 (Rojo)]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.001&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:2estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso h=0.001 (Rojo)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en las imágenes de los dos procesos las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso el método de Euler es estable para los pasos que hemos usado.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27848</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27848"/>
				<updated>2015-03-06T11:49:23Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a aplicar un método de integración numérica conocido como el Método del Trapecio por aproximar el valor de la integral al del área de un trapecio. Su expresión matemática es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
Introducimos esta expresión en el código y obtenemos la gráfica de la solución.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema no lineal de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
En este caso aplicaremos en el siguiente código la expresión para EDO a cada una de las ecuaciones que conforma el sistema, obteniendo la correspondiente gráfica.&lt;br /&gt;
 &lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable.&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema usando &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;. Para ello usaremos el mismo programa anterior simplemente variando h. La línea azul representa el programa que usa &amp;quot;h=0.01&amp;quot; y la línea roja representa el programa que usa &amp;quot;h=0.001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparacioneulers123.jpg|400px|miniaturadeimagen|izquierda|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
[[Archivo:Comparacioneulers321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en la primera imágen las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso es estable.&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Como cabía esperar, obtenemos la misma solución resolviendo el problema como sistema o como EDO. Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema anterior con este método, con pasos &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;, y lo compararemos con la resolución del sistema con el método de Heun y que se asemeja más a la solución exacta.&amp;lt;br /&amp;gt;&lt;br /&gt;
En la comparación representaremos en azul el método de Heun y en rojo el método de Euler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.01&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:1estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso 0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:1estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso 0.01 (Rojo)]] &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Para &amp;quot;h=0.001&amp;quot; tenemos lo siguiente:&lt;br /&gt;
[[Archivo:2estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) con el Método de Euler con paso 0.001 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) con el Método de Euler con paso 0.001 (Rojo)]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en las imágenes de los dos procesos las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso el método de Euler es estable para los pasos que hemos usado.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27774</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27774"/>
				<updated>2015-03-06T11:34:44Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Vamos a aplicar un método de integración numérica conocido como el Método del Trapecio por aproximar el valor de la integral al del área de un trapecio. Su expresión matemática es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
Introducimos esta expresión en el código y obtenemos la gráfica de la solución.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema no lineal de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
En este caso aplicaremos en el siguiente código la expresión para EDO a cada una de las ecuaciones que conforma el sistema, obteniendo la correspondiente gráfica.&lt;br /&gt;
 &lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable.&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para calificar la estabilidad del método de Euler resolveremos el sistema usando &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;. Para ello usaremos el mismo programa anterior simplemente variando h. La línea azul representa el programa que usa &amp;quot;h=0.01&amp;quot; y la línea roja representa el programa que usa &amp;quot;h=0.001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparacioneulers123.jpg|400px|miniaturadeimagen|izquierda|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
[[Archivo:Comparacioneulers321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en la primera imágen las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso es estable.&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Como cabía esperar, obtenemos la misma solución resolviendo el problema como sistema o como EDO. Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:1estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) y Método de Euler con paso 0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:1estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) y Método de Euler con paso 0.01 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad123.jpg|400px|miniaturadeimagen|izquierda|Comparación entre Método de Heun (Azul) y Método de Euler con paso 0.001 (Rojo)]] &lt;br /&gt;
[[Archivo:2estabilidad321.jpg|400px|miniaturadeimagen|derecha|Comparación entre Método de Heun (Azul) y Método de Euler con paso 0.001 (Rojo)]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:2estabilidad321.jpg&amp;diff=27755</id>
		<title>Archivo:2estabilidad321.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:2estabilidad321.jpg&amp;diff=27755"/>
				<updated>2015-03-06T11:30:52Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:2estabilidad123.jpg&amp;diff=27754</id>
		<title>Archivo:2estabilidad123.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:2estabilidad123.jpg&amp;diff=27754"/>
				<updated>2015-03-06T11:30:43Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:1estabilidad321.jpg&amp;diff=27752</id>
		<title>Archivo:1estabilidad321.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:1estabilidad321.jpg&amp;diff=27752"/>
				<updated>2015-03-06T11:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:1estabilidad123.jpg&amp;diff=27751</id>
		<title>Archivo:1estabilidad123.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:1estabilidad123.jpg&amp;diff=27751"/>
				<updated>2015-03-06T11:30:24Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27459</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27459"/>
				<updated>2015-03-06T09:46:57Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable.&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para mirar la estabilidad del método de Euler resolveremos el sistema usando &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;. Para ello usaremos el mismo programa anterior simplemente variando h. La línea azul representa el programa que usa &amp;quot;h=0.01&amp;quot; y la línea roja representa el programa que usa &amp;quot;h=0.001&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparacioneulers123.jpg|400px|miniaturadeimagen|izquierda|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
[[Archivo:Comparacioneulers321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos ver en la primera imágen las gráficas se superponen y no se aprecian diferencias hasta que no ampliamos la imagen. Y esto sucede en todo momento con lo que podemos garantizar que en este caso es estable.&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Una vez obtenidas las ecuaciones y conociendo las condiciones iniciales y los valores de las constantes podemos plantear el problema de valor inicial para luego resolverlo.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    A' = -k_{1}Ax\\&lt;br /&gt;
    x' = k_{1}Ax - k{2}xy\\&lt;br /&gt;
    y' = k_{2}xy − k_3{y}\\&lt;br /&gt;
    B'=k_3y \\&lt;br /&gt;
\\&lt;br /&gt;
    A(0)=5  \\&lt;br /&gt;
    x(0)=5*10^{-4} \\&lt;br /&gt;
    y(0)=10^{-5}\\&lt;br /&gt;
    B(0)=0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt; k_{1}=K_{2}=2k_{3}=0.1 &amp;lt;/math&amp;gt; y las unidades de la concentración mol/l.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
Aplicamos el método de Euler de forma análoga a como lo hicimos en [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Euler_2|apartado 2.5.1]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparacioneulers321.jpg&amp;diff=27439</id>
		<title>Archivo:Comparacioneulers321.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparacioneulers321.jpg&amp;diff=27439"/>
				<updated>2015-03-06T09:40:11Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparacioneulers123.jpg&amp;diff=27436</id>
		<title>Archivo:Comparacioneulers123.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparacioneulers123.jpg&amp;diff=27436"/>
				<updated>2015-03-06T09:39:59Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27417</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27417"/>
				<updated>2015-03-06T09:24:27Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable.&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para mirar la estabilidad del método de Euler resolveremos el sistema usando &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;. Para ello usaremos el mismo programa anterior simplemente variando h:&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27415</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=27415"/>
				<updated>2015-03-06T09:23:48Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano García, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece, entre otras cosas, que  la velocidad de&lt;br /&gt;
reacción es proporcional al producto de las concentraciones de los reactivos.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La otra ecuación que necesitamos la obtenemos directamente de aplicar la Ley de acción de masas, que establece que la velocidad de la reacción (la velocidad a la que aparece el producto o desaparece el reactivo) es igual al producto de las concentraciones por una constante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las operaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
&lt;br /&gt;
En este apartado resolveremos el problema de valor inicial planteado anteriormente con tres métodos de integración numérica: el método de Euler, el método del Trapecio y el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
El método de Euler, llamado así en honor al matemático Leonhard Euler, es un procedimiento de integración numérica. Su expresión matemática es: &lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación emplearemos esta expresión en un programa de Matlab para obtener una aproximación de las soluciones. El código de dicho programa es el siguiente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulergrafica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:Trapeciografica.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;f(y)&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;f(y)=y'(t)=1.01y(t)-y(t)^2&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 k_1 &amp;amp; =  f(y_i) \\&lt;br /&gt;
 k_2 &amp;amp; =  f(y_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 k_3 &amp;amp; =  f(y_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 k_4 &amp;amp; =  f(y_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y_{i+1} = y_{i} + {1 \over 6}h(k_1+2k_2+2k_3+k_4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RK4II.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fy=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fy(y(i));&lt;br /&gt;
    k2=fy(y(i)+k1/2*h);&lt;br /&gt;
    k3=fy(y(i)+k2/2*h);&lt;br /&gt;
    k4=fy(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (x)&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
&lt;br /&gt;
Podemos observar fácilmente que las gráficas obtenidas con los diferentes métodos son iguales a primera vista. Sin embargo, superponiéndolas queda patente que no son exactamente iguales debido a que los métodos no poseen la misma precisión y , al operar todos con la misma longitud de paso, unos aproximan la solución exacta mejor que otros. Así se observa en estas imágenes:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
A continuación tendremos que comprobar si el método es estable.&lt;br /&gt;
Un método es estable cuando el error local es pequeño y además este error no se amplifica a lo largo del tiempo. Para mirar la estabilidad del método de Euler resolveremos el sistema usando &amp;quot;h=0.01&amp;quot; y &amp;quot;h=0.001&amp;quot;. Para ello usaremos el mismo programa anterior simplemente variando h:&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;. Además, utilizaremos la función ''inline'', con la que declararemos previamente la función algebraica necesaria para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces la correspondiente expresión matemática.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l. Ambos compuestos alcanzan sus los extremos de sus concentraciones en el mismo instante de tiempo&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + X →_{k1} 2X;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt; X + Y →_{k2} 2Y;&amp;lt;/math&amp;gt;     :&amp;lt;math&amp;gt;Y →_{k3} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como se puede observar, se trata de una reacción compleja integrada por 3 reacciones simples (las dos primeras autocatalíticas) en las que intervienen un total de 4 compuestos, A, B, X e Y. Siguiendo el desarrollo de la reacción, es lógico suponer que A se agotará al comienzo de la reacción, que los máximos de concentración de X e Y se darán en los estados intermedios y que al final el compuesto B será el único restante, siendo el producto final de la reacción.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
Para averiguar cómo evolucionan las concentraciones de los cuatro compuestos durante el desarrollo de la reacción necesitaremos obtener cuatro ecuaciones diferenciales. Para ello nos volveremos a basar en los principios físicos que ya empleamos en la anterior reacción. Definimos A(t), x(t), y(t), y B(t) (A, x, y, B; para ahorrar notación) a las concentraciones de A, X, Y, y B, respectivamente. &lt;br /&gt;
&lt;br /&gt;
En primer lugar aplicamos el Principio de Conservación de la masa, que establece que la suma de las concentraciones de los compuestos es constante (no desaparece masa en el proceso), lo que derivando nos indica que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + y' + y' + B' = 0 \quad\quad(I)&amp;lt;/math&amp;gt;       &lt;br /&gt;
&lt;br /&gt;
A continuación aplicaremos la Ley de Acción de Masas (velocidad de reacción proporcional al producto de la concentración de los reactivos).&lt;br /&gt;
&lt;br /&gt;
Aplicando esta ley a la última reacción simple obtenemos que: &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;B'=k_3y \quad\quad(II)&amp;lt;/math&amp;gt;        &lt;br /&gt;
&lt;br /&gt;
En el caso de las concentraciones de X e Y las expresiones resultantes son algo más complicadas ya que estos dos compuestos actúan como reactivos y productos en más de una reacción simple, por lo que la variación de sus concentraciones será la suma de las variaciones de las reacciones en las que aparezcan:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; x' = x'_{1} + x'_{2} → x' = k_{1}Ax - k{2}xy \quad\quad(III)&amp;lt;/math&amp;gt;        &lt;br /&gt;
: &amp;lt;math&amp;gt; y' = y'_{2} + y'_{3} → y' = k_{2}xy − k_3{y} \quad\quad(IV)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último sustituimos (II), (III) y (IV) en (I) obteniendo: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' + k_{1}Ax - k{2}xy + k_{2}xy − k_3{y}+ k_3y= 0 : &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De donde obtenemos que:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;math&amp;gt; A' = -k_{1}Ax &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que ya tenemos las variaciones de concentración de los compuestos en función de las concentraciones podemos aplicar métodos numéricos que nos lleven a una solución aproximada.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
El proceso comienza con el predominio absoluto del compuesto A en la concentración total, siendo la presencia de los otros tres compuestos despreciable. Durante los primeros segundos la situación apenas cambia, pero tras los diez primeros segundos la concentración de A cae bruscamente mientras que la concentración de X aumenta a la misma velocidad; antes de llegar a los veinte segundos transcurridos las concentraciones de ambos compuestos se igualan y otros quince segundos más tarde el compuesto A  prácticamente ha desaparecido y el X ha alcanzado su concentración máxima (5 mol/litro).&lt;br /&gt;
&lt;br /&gt;
Es entonces cuando concluye la primera reacción y comienzan las otras dos, al no haber más compuesto A que cree compuesto X. La velocidad de aparición de Y es inicialmente mayor que la de B, superando al poco tiempo en concentración a la sustancia X. Sin embargo, llega un momento en el que la concentración de X es tan baja que se ralentiza la creación de Y y pronto empieza a disminuir su concentración tras alcanzar un máximo en torno a los 56 segundos, perdiendo peso la segunda reacción en beneficio de la tercera.&lt;br /&gt;
&lt;br /&gt;
Tras los 60 segundos de reacción el compuesto X pasa a tener una concentración despreciable, por lo que la única reacción simple que se sigue desarrollando es la tercera, destruyéndose reactivo Y y creándose producto B. La concentración de Y va reduciéndose paulatinamente hasta que en torno a los 160 segundos de reacción alcanza niveles insignificantes mientras que la concentración de B alcanza su máximo de 5 mol/litro.&lt;br /&gt;
&lt;br /&gt;
Es interesante observar que en todo momento se cumple el Principio de Conservación de la masa: la suma en cualquier momento de las concentraciones de las sustancias es 5 mol /litro. Esto es fácilmente comprobable en los momentos en que las concentraciones de A, X y B alcanzan su máximo de 5 mol/litro y el resto de concentraciones son nulas o despreciables. &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25129</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25129"/>
				<updated>2015-03-04T12:45:33Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método del trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + \frac{h}{2}*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25123</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25123"/>
				<updated>2015-03-04T12:41:42Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&amp;lt;math&amp;gt;  PVI = &lt;br /&gt;
   \left \{&lt;br /&gt;
      \begin{array}{rcl}&lt;br /&gt;
          y_0\\&lt;br /&gt;
           y_{n+1} = y_n + h*f(t_n,y_n)\\ &lt;br /&gt;
      \end{array}&lt;br /&gt;
   \right .&lt;br /&gt;
   &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
%Gráfico&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25113</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25113"/>
				<updated>2015-03-04T12:35:00Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left \{ \begin{matrix} y_0 &amp;amp; &lt;br /&gt;
\\ y_{n+1}=y_n+ \frac{h}{2}*f(t_n,y_n)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
x=1.01-y;&lt;br /&gt;
hold on &lt;br /&gt;
plot(t,y,'r')&lt;br /&gt;
plot(t,x,'b')&lt;br /&gt;
hold off&lt;br /&gt;
legend('Sustancia B: y(t)','Sustancia A: x(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25079</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=25079"/>
				<updated>2015-03-04T12:18:04Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Comparación de métodos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Como podemos comprobar en las imágenes, el método de Euler es menos preciso que el del trapecio o el de Runge-Kutta.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24788</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24788"/>
				<updated>2015-03-03T22:52:31Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Resolución numérica del problema de valor inicial */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de métodos===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de métodos]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de métodos]]&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24787</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24787"/>
				<updated>2015-03-03T22:46:53Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Comparación de Métodos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24786</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24786"/>
				<updated>2015-03-03T22:46:33Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Comparación de Métodos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de Métodos ===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|imagen|izquierda|Comparación de Gráficas]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|imagen|derecha|Comparación de Gráficas]]&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24784</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24784"/>
				<updated>2015-03-03T22:45:48Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Comparación de Métodos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de Métodos ===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|izquierda|Comparación de Gráficas]]&lt;br /&gt;
[[Archivo:comparativa2.jpg|400px|miniaturadeimagen|derecha|Comparación de Gráficas]]&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24782</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24782"/>
				<updated>2015-03-03T22:44:45Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Resolución numérica del problema de valor inicial */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Comparación de Métodos ===&lt;br /&gt;
[[Archivo:comparativa1.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Euler lotka0.01.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.01]] &lt;br /&gt;
[[Archivo:Euler lotka0.001.jpg|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A, B, X, e Y a lo largo del tiempo. Resoluciónd delsistema por el método de Euler con longitud de paso h=0.001]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema de la reacción de Lotka por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos la variable independiente y establecemos los datos del problema&lt;br /&gt;
%de valor inicial. Para la longitud de paso h introducimos en primer lugar&lt;br /&gt;
%0.01 y luego 0.001&lt;br /&gt;
&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h= input('Introduzca una longitud de paso ');&lt;br /&gt;
t = t0:h:tN;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
k1 = 0.1;&lt;br /&gt;
k2 = 0.1;&lt;br /&gt;
k3 = 0.05;&lt;br /&gt;
A0 = 5;&lt;br /&gt;
B0 = 0;&lt;br /&gt;
X0 = 5*10^(-4);&lt;br /&gt;
Y0 = 10^(-5);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Definimos las variables dependientes.&lt;br /&gt;
&lt;br /&gt;
A = zeros(1, N-1);&lt;br /&gt;
B = A;&lt;br /&gt;
X = A;&lt;br /&gt;
Y = A;&lt;br /&gt;
&lt;br /&gt;
A(1) = A0;&lt;br /&gt;
B(1) = B0;&lt;br /&gt;
X(1) = X0;&lt;br /&gt;
Y(1) = Y0;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    X(i+1) = X(i) + h*(k1*A(i)*X(i)-k2*Y(i)*X(i));&lt;br /&gt;
    Y(i+1)=Y(i)+h.*(k2.*X(i).*Y(i)-k3.*Y(i));&lt;br /&gt;
    B(i+1) = B(i) + h*(k3*Y(i));&lt;br /&gt;
    A(i+1) = A(i) + h*(-k1*A(i)*X(i));&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente la solución&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot (t,A,'b')&lt;br /&gt;
plot(t, X, 'r')&lt;br /&gt;
plot(t,Y, 'g')&lt;br /&gt;
plot(t, B, 'm')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparativa2.jpg&amp;diff=24780</id>
		<title>Archivo:Comparativa2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparativa2.jpg&amp;diff=24780"/>
				<updated>2015-03-03T22:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparativa1.jpg&amp;diff=24779</id>
		<title>Archivo:Comparativa1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparativa1.jpg&amp;diff=24779"/>
				<updated>2015-03-03T22:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24622</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24622"/>
				<updated>2015-03-03T12:31:02Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler3321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Euler3321.jpg&amp;diff=24621</id>
		<title>Archivo:Euler3321.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Euler3321.jpg&amp;diff=24621"/>
				<updated>2015-03-03T12:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24620</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24620"/>
				<updated>2015-03-03T12:28:32Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método del trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
[[Archivo:trapecio321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método del Trapecio]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trapecio321.jpg&amp;diff=24619</id>
		<title>Archivo:Trapecio321.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trapecio321.jpg&amp;diff=24619"/>
				<updated>2015-03-03T12:28:18Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24618</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24618"/>
				<updated>2015-03-03T12:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método del trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método del Trapecio&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:N&lt;br /&gt;
y(i+1)=(((1-(h/2)*1.01)-sqrt(((1-(h/2)*1.01)^2)+4*(h/2)*((1+(h/2)*1.01)*y(i)-(h/2)*(y(i))^2)))/-h);&lt;br /&gt;
end&lt;br /&gt;
%Sacamos la tabla de resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
&lt;br /&gt;
%Gráfico&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24613</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24613"/>
				<updated>2015-03-03T11:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:euler321.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Euler321.jpg&amp;diff=24612</id>
		<title>Archivo:Euler321.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Euler321.jpg&amp;diff=24612"/>
				<updated>2015-03-03T11:36:28Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24611</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24611"/>
				<updated>2015-03-03T11:35:38Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:eulerprimerapartadoss.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)','Location','best');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24610</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24610"/>
				<updated>2015-03-03T11:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:eulerprimerapartadoss.jpg|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B','Location','best');&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24609</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24609"/>
				<updated>2015-03-03T11:33:04Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:eulerprimerapartadoss.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método de Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B','Location','best');&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Eulerprimerapartadoss.jpg&amp;diff=24608</id>
		<title>Archivo:Eulerprimerapartadoss.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Eulerprimerapartadoss.jpg&amp;diff=24608"/>
				<updated>2015-03-03T11:30:55Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24607</id>
		<title>Reacciones con autocatálisis. Grupo D12</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Reacciones_con_autocat%C3%A1lisis._Grupo_D12&amp;diff=24607"/>
				<updated>2015-03-03T11:20:41Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Método de Euler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Reacciones con autocatálisis. Grupo D12 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Javier Ruiz de Galarreta López, Argimiro Martínez López, Eduardo Moyano, Alberto Rodríguez Ruiz. }}&lt;br /&gt;
&lt;br /&gt;
= Introducción: objetivos y metodología =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El objetivo de este trabajo es estudiar las concentraciones de los reactivos y productos de una reacción química a lo largo de la evolución en el tiempo de dicha reacción. Para ello modelizaremos el proceso empleando ecuaciones diferenciales y teniendo en cuenta la Ley de Acción de Masas y el Principio de Conservación de la materia.&lt;br /&gt;
&lt;br /&gt;
Al ser las ecuaciones y sistemas que se nos presentan de difícil resolución analítica, utilizaremos el programa informático Matlab para resolverlos mediante métodos numéricos como el de Euler, el del Trapecio, el de Runge-Kutta y el de Heun. &lt;br /&gt;
&lt;br /&gt;
Plasmaremos las soluciones en gráficos que nos permitirán dar una interpretación físico química a los resultados.&lt;br /&gt;
&lt;br /&gt;
= Reacción I =&lt;br /&gt;
&lt;br /&gt;
En primer lugar consideramos una reacción química irreversible en una solución bien mezclada, que se desarrolla para un volumen y una temperatura constantes, y en la que uno de los componentes (B, en este caso), hace de efecto catalítico.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; A + B →_{k1} 2B  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para desarrollar nuestro análisis nos apoyaremos en dos leyes físico químicas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Ley de acción de masas''': Enunciada por Guldberg y Waage en 1864, establece que dada una reacción química reversible en equilibrio, a temperatura constante, la relación de concentraciones de los reactivos y productos tiene un valor constante.&lt;br /&gt;
&lt;br /&gt;
'''Principio de conservación de la masa''': Establece que en una reacción química ordinaria la masa permanece constante, siendo la masa consumida de los reactivos igual a la masa obtenida de los productos. Fue elaborada independientemente por Míjail Lomonósov en 1745 y Antoine Lavoisier en 1785.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para hallar las ecuaciones diferenciales que nos describan cómo se desarrolla la reacción en el tiempo nos basaremos en las dos leyes enunciadas anteriormente. En primer lugar, definimos nuestra variable independiente como el tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; en segundos. Las dos variables dependientes serán las concentraciones de los compuestos A y B, que denominaremos &amp;lt;math&amp;gt;x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y(t)&amp;lt;/math&amp;gt;, ambas expresadas en mol/l. &lt;br /&gt;
&lt;br /&gt;
El principio de conservación de la masa expone que la suma de las concentraciones de los reactivos y los productos es constante. Esto equivale, derivando la expresión &amp;lt;math&amp;gt;x(t)+y(t)=cte&amp;lt;/math&amp;gt;, a que  desaparece tanto reactivo como producto aparece, o lo que es lo mismo, que la velocidad de aparición del producto es igual a la velocidad de desaparición (velocidad de aparición negativa) del reactivo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x'(t)=-y'(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)&amp;lt;/math&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.....................&lt;br /&gt;
&lt;br /&gt;
== Obtención del problema de valor inicial ==&lt;br /&gt;
Una vez demostrado el origen de las ecuaciones (1) y (2) en el apartado anterior, obtendremos el problema de valor inicial (PVI) mediante las manipulaciones detalladas a continuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x'(t)+y'(t)=0\quad\quad(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad\quad(2)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Integrando (1) obtenemos (3):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_\mathbb{D} (\frac{dx(t)}{dt} + \frac{dy(t)}{dt})\,dt =\int_\mathbb{D} 0\,dt \quad \Rightarrow \quad x(t)+y(t)=k_2\quad \Rightarrow \quad x(t)=k_2-y(t)\quad\quad(3)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo (3) en (2), obtenemos (4):&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;y'(t)=k_1x(t)y(t)\quad \Rightarrow \quad y'(t)=k_1(k_2-y(t))y(t)\quad \Rightarrow \quad y'(t)=k_1k_2y(t)-k_1y^2(t)\quad\quad(4)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conocemos las concentraciones iniciales de A y de B, por lo que podemos obtener el valor de la constante k&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;[A]:\quad x(0)=1 mol/l;\quad\quad [B]:\quad y(0)=0,01 mol/l&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;x(t)+y(t)=k_2\quad \Rightarrow \quad x(0)+y(0)=k_2\quad \Rightarrow \quad 1+0,01=k_2\quad \Rightarrow \quad k_2=1,01&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por último, conocemos también el valor de k&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, por lo que podremos plantear a continuación el correspondiente PVI:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;k_1=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}y'(t)=1,01y(t)-y^2(t) \\ \\&lt;br /&gt;
y(0) = 0,01 \end{cases}\quad (t,y)\in[0,10]\times\mathbb{R}&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unicidad de la solución ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Existencia-y-unicidad.png|200px|miniaturadeimagen|derecha|Intersección B con dominio]]&lt;br /&gt;
&lt;br /&gt;
Aplicamos a continuación el Teorema de Existencia y Unicidad:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sea &amp;lt;math&amp;gt;f(t,y)=y'(t) \Rightarrow f(t,y)=1.01y(t)-y^2(t)\quad&amp;lt;/math&amp;gt;, y &amp;lt;math&amp;gt;\quad\frac{\partial }{\partial y} f(t,y) = 1.01-2y(t)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Y sea &amp;lt;math&amp;gt;B[(t_0,y_0),r],\quad r&amp;gt;0,\quad en (t_0,y_0)=(0,0.01)&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{\partial }{\partial y} f(t,y)&amp;lt;/math&amp;gt; es continua en &amp;lt;math&amp;gt; \mathbb{B}\cap \mathbb{D}\quad \Rightarrow \quad \exists !  y(t)\quad /\quad y'(t)=1,01y(t)-y^2(t)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con lo que queda demostrado que el (PVI) tiene solución, y además esta es única.&lt;br /&gt;
&lt;br /&gt;
== Resolución numérica del problema de valor inicial ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Euler&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Datos iniciales&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=4;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
h=0.1;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
&lt;br /&gt;
%Cálculo de subintervalos&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Creamos el vector donde vamos a guardar las soluciones&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
%Euler&lt;br /&gt;
for i=1:N;&lt;br /&gt;
    y(i+1)=y(i)+h*(1.01*y(i)-(y(i)).^2);&lt;br /&gt;
end&lt;br /&gt;
%Tabla de Resultados&lt;br /&gt;
[t',y']&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B','Location','best');&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
=== Método de Runge-Kutta ===&lt;br /&gt;
[[Archivo:RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica y(t). Método Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función f(t)=y'(t)&lt;br /&gt;
fyt=inline('1.01*y-y^2','y');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Variable dependiente (y)&lt;br /&gt;
y=zeros(1,length(t));&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
&lt;br /&gt;
for i=1:length(t)-1&lt;br /&gt;
    k1=fyt(y(i));&lt;br /&gt;
    k2=fyt(y(i)+k1/2*h);&lt;br /&gt;
    k3=fyt(y(i)+k2/2*h);&lt;br /&gt;
    k4=fyt(y(i)+k3*h);&lt;br /&gt;
    y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y)&lt;br /&gt;
legend('Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Resolución en forma de sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
A continuación vamos a plantear el problema de valor inicial con un sistema de dos ecuaciones equivalente al problema resuelto anteriormente.&lt;br /&gt;
&lt;br /&gt;
Estas ecuaciones serán:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)&lt;br /&gt;
\begin{cases}&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}&lt;br /&gt;
\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolveremos el problema por el método de Euler y por el método de Runge-Kutta, plasmando las soluciones en gráficos.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
[[Archivo:SistEuler.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Euler]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%Resolución del sistema por el método de Euler&lt;br /&gt;
&lt;br /&gt;
clear all&lt;br /&gt;
&lt;br /&gt;
%Definimos el vector de la variable independiente, el número de&lt;br /&gt;
%subintervalos y la longitud de paso&lt;br /&gt;
&lt;br /&gt;
t0 = 0;&lt;br /&gt;
tN = 10;&lt;br /&gt;
h = 0.1;&lt;br /&gt;
t = t0:h:tN&lt;br /&gt;
N = (tN-t0)/h;&lt;br /&gt;
&lt;br /&gt;
%Definimos los vectores de las variables dependientes&lt;br /&gt;
&lt;br /&gt;
x = zeros(1, N+1);&lt;br /&gt;
y = zeros(1, N+1);&lt;br /&gt;
&lt;br /&gt;
x(1) = 1;&lt;br /&gt;
y(1) = 0.01;&lt;br /&gt;
&lt;br /&gt;
for i = 1:N&lt;br /&gt;
    &lt;br /&gt;
    x(i+1)=x(i)+h*(-x(i).*y(i));&lt;br /&gt;
    y(i+1)=y(i)+h*(y(i).*x(i));&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%Representamos gráficamente las soluciones&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,x,'b');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
grid on&lt;br /&gt;
&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Runge-Kutta===&lt;br /&gt;
&lt;br /&gt;
El método de resolución numérica de Runge-Kutta, involucra un gran número de parámetros. Para simplificar la implementación de este método en Matlab, el sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;, ahorrándonos tener que escribir innumerables veces dichas expresiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
    x'(t)=-k_1 x(t)y(t) \\&lt;br /&gt;
    y'(t)=k_1 x(t)y(t) \\&lt;br /&gt;
    \\&lt;br /&gt;
    x(0)=1 \\&lt;br /&gt;
    y(0) = 0.01&lt;br /&gt;
\end{cases}\quad t\in[0,10]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad k_1=1\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -x(t)y(t) \\&lt;br /&gt;
      x(t)y(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      1 \\&lt;br /&gt;
      0.01 \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,10]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(x,y)=\vec{F}(\vec{z})=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\&lt;br /&gt;
    g(\vec{z}) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    -x(t)y(t) \\&lt;br /&gt;
    x(t)y(t) \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
 [\vec{k_3}] &amp;amp; =  F(\vec{z}_i + \frac{1}{2}k_2h) \\&lt;br /&gt;
 [\vec{k_4}] &amp;amp; =  F(\vec{z}_i + k_3h) \\&lt;br /&gt;
\end{cases}\quad [h=0.1]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método RK4 para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 6}h(\vec{k_1}+2\vec{k_2}+2\vec{k_3}+\vec{k_4})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:sistema_RK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A y B. Resolución del sistema por Runge-Kutta]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Runge-Kutta&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[x'(t); y'(t)]&lt;br /&gt;
F=inline('[-z(1)*z(2);z(1)*z(2)]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema &lt;br /&gt;
x0=1;&lt;br /&gt;
y0=0.01;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=10;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[x;y]&lt;br /&gt;
z=zeros(2,length(t));&lt;br /&gt;
z(:,1)=[x0;y0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    k3=F(z(:,i)+k2.*h/2);&lt;br /&gt;
    k4=F(z(:,i)+k3.*h);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/6.*(k1+2.*k2+2.*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:))&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
legend('Sustancia A: x(t)','Sustancia B: y(t)')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
%hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas ==&lt;br /&gt;
&lt;br /&gt;
Podemos observar por los resultados obtenidos que la velocidad de aparición de B es igual a la velocidad de desaparición de A (como dicta el principio de conservación de la masa), que A acaba desapareciendo prácticamente por completo y que la concentración de B termina por estabilizarse alrededor de 1 mol/l.&lt;br /&gt;
&lt;br /&gt;
También cabe destacar que cuando el tiempo transcurrido alcanza 4,5 segundos las concentraciones de ambos compuestos son las mismas.&lt;br /&gt;
&lt;br /&gt;
= Reacción II =&lt;br /&gt;
&lt;br /&gt;
== Interpretación del problema y deducción de las ecuaciones diferenciales ==&lt;br /&gt;
&lt;br /&gt;
En este apartado vamos a estudiar la reacción propuesta por Alfred J. Lotka en 1920, que es la siguiente:&lt;br /&gt;
== Resolución numérica del sistema de ecuaciones ==&lt;br /&gt;
=== Método de Euler ===&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
&lt;br /&gt;
Si bien el método de resolución numérica de Heun no involucra un número de parámetros tan notable como el método de Runge-Kutta, en este caso tenemos un sistema de 4 ecuaciones diferenciales, por lo que, en aras de simplificar, utilizaremos el mismo criterio que en el [[Reacciones_con_autocatálisis._Grupo_D12#Método_de_Runge-Kutta_2|apartado 2.5.2]].: El sistema se tratará como una matriz &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;, y para la obtención de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt; utilizaremos la función ''inline'', con la que declararemos previamente las expresiones necesarias para el cálculo de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Primero, expresamos el sistema en forma matricial:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;(PVI)\begin{cases}&lt;br /&gt;
A'(t)=-k_1 A(t)x(t) \\&lt;br /&gt;
x'(t)=k_1 A(t)x(t)-k_2 x(t)y(t) \\&lt;br /&gt;
y'(t)=k_2 x(t)y(t)-k_3 y(t) \\&lt;br /&gt;
B'(t)=k_3 x(t)y(t) \\ \\&lt;br /&gt;
A(0)=5 \\&lt;br /&gt;
x(0)=5·10^{-4} \\&lt;br /&gt;
y(0)=10^{-5} \\&lt;br /&gt;
B(0) = 0&lt;br /&gt;
\end{cases}\quad t\in[0,200]&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
k_1=0.1 \\&lt;br /&gt;
k_2=0.1 \\&lt;br /&gt;
k_3=0.05 \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad&lt;br /&gt;
&lt;br /&gt;
(PVI)\begin{cases}\vec{z}'(t)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A'(t) \\&lt;br /&gt;
      x'(t) \\&lt;br /&gt;
      y'(t) \\&lt;br /&gt;
      B'(t) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
 \\ \\ \vec{z}(0)=&lt;br /&gt;
   \begin{bmatrix}&lt;br /&gt;
      A(0) \\&lt;br /&gt;
      x(0) \\&lt;br /&gt;
      y(0) \\&lt;br /&gt;
      B(0) \\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      5 \\&lt;br /&gt;
      5·10^{-4} \\&lt;br /&gt;
      10^{-5} \\&lt;br /&gt;
      0&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
\end{cases}\quad t\in[0,200]&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, detallamos la función &amp;lt;math&amp;gt;\vec{F}&amp;lt;/math&amp;gt; de la que dependerán los valores de los parámetros &amp;lt;math&amp;gt;k_i&amp;lt;/math&amp;gt;:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{F}(A,x,y,B)=\vec{F}(\vec{z})=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    f(\vec{z}) \\ &lt;br /&gt;
    g(\vec{z}) \\ &lt;br /&gt;
    h(\vec{z}) \\ &lt;br /&gt;
    i(\vec{z}) \\ &lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\begin{bmatrix}&lt;br /&gt;
    A'(t) \\&lt;br /&gt;
    x'(t) \\&lt;br /&gt;
    y'(t) \\&lt;br /&gt;
    B'(t) \\&lt;br /&gt;
\end{bmatrix}=&lt;br /&gt;
\vec{z}'(t)=&lt;br /&gt;
      \begin{bmatrix}&lt;br /&gt;
      -0.1 A(t)x(t) \\&lt;br /&gt;
      0.1 A(t)x(t)-0.1 x(t)y(t) \\&lt;br /&gt;
      0.1 x(t)y(t)-0.05 y(t) \\&lt;br /&gt;
      0.05 y(t)x(t)\\&lt;br /&gt;
   \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
\quad \Rightarrow \quad &lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
 [\vec{k_1}] &amp;amp; =  F(\vec{z}_i) \\&lt;br /&gt;
 [\vec{k_2}] &amp;amp; =  F(\vec{z}_i + {1 \over 2}k_1h) \\&lt;br /&gt;
\end{cases}\quad [h=0.01]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces el método de Heun para este problema está dado por la siguiente ecuación:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\vec{z}_{i+1} = \vec{z}_{i} + {1 \over 2}h(\vec{k_1}+\vec{k_2})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mediante el siguiente programa en Matlab calculamos numéricamente la solución y la representamos en un gráfico:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:AXYBRK4.png|400px|miniaturadeimagen|derecha|Representación gráfica de las concentraciones de A,X,Y y B. Resolución del sistema por Heun]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Heun&lt;br /&gt;
clc&lt;br /&gt;
&lt;br /&gt;
%Función F=[A'(t);x'(t); y'(t);B'(t)]&lt;br /&gt;
F=inline('0.1.*[-z(1)*z(2);z(1)*z(2)-z(2)*z(3);z(2)*z(3)-z(3)/2;z(3)/2]','z');&lt;br /&gt;
&lt;br /&gt;
%Datos del problema&lt;br /&gt;
A0=5;&lt;br /&gt;
x0=5*10^-4;&lt;br /&gt;
y0=10^(-5);&lt;br /&gt;
B0=0;&lt;br /&gt;
t0=0;&lt;br /&gt;
tN=200;&lt;br /&gt;
h=0.1;&lt;br /&gt;
&lt;br /&gt;
%Vector de variable independiente (t)&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
&lt;br /&gt;
%Matriz de variables dependientes z=[A;x;y;B]&lt;br /&gt;
z=zeros(4,length(t));&lt;br /&gt;
z(:,1)=[A0;x0;y0;B0];&lt;br /&gt;
&lt;br /&gt;
for i = 1:length(t)-1&lt;br /&gt;
    k1=F(z(:,i));&lt;br /&gt;
    k2=F(z(:,i)+k1.*h/2);&lt;br /&gt;
    z(:,i+1)=z(:,i)+h/2.*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
%Representación gráfica&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,z(1,:),'b')&lt;br /&gt;
plot(t,z(2,:),'r')&lt;br /&gt;
plot(t,z(3,:),'g')&lt;br /&gt;
plot(t,z(4,:),'m')&lt;br /&gt;
legend('Sustancia A: A(t)','Sustancia X: x(t)','Sustancia Y: y(t)','Sustancia B: B(t)','Location','Best')&lt;br /&gt;
xlabel('Tiempo (s)')&lt;br /&gt;
ylabel('Concentración (mol/l)')&lt;br /&gt;
grid on&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Interpretación de las gráficas == &lt;br /&gt;
 &lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=21490</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=21490"/>
				<updated>2014-12-05T10:23:21Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]&amp;lt;br/&amp;gt;[[:Categoría:TC14/15|Trabajos 2014-15]]|2014-15|Ana Martínez Lorente, Argimiro Martínez López, Alfredo Pazos Arjona, Elisa Pérez Marsilla e Isaac Rebollo Palos|}}&lt;br /&gt;
&lt;br /&gt;
==Concepto de fluido incompresible==&lt;br /&gt;
Un fluido incompresible es cualquier fluido cuya densidad siempre permanece constante con el tiempo, y tiene la capacidad de oponerse a la compresión del mismo bajo cualquier condición. En términos matemáticos, esto significa que la densidad de tal fluido se supone constante.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Archivo:Waterproof.jpg|300px|miniaturadeimagen|centro|El agua es un fluido casi incompresible, es decir, la cantidad de volumen y la cantidad de masa permanecerán prácticamente iguales, aún bajo presión]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Representación de la región ocupada por el fluido==&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [-5,5] x [-5,5].&lt;br /&gt;
&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Programa para dibujar un mallado que represente la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
Y aquí la representación gráfica del mallado:&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|1000px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==Campo de velocidad del fluido==&lt;br /&gt;
Tras haber observado la región que ocupa el fluido vamos a proceder a analizar la velocidad de las partículas de dicho fluido. Obtendremos por tanto un campo vectorial al que denominaremos &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=2cos \theta(\rho+\frac{4}{\rho}) &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Dada la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(2cos \theta(\rho+\frac{4}{\rho}) &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:Formula1_C19.jpg|450px|sinmarco|centro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a coordenadas contravariantes utilizando el cambio en base a la matriz de Gram: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula2.jpg|130px|sinmarco|centro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula3.jpg|300px|sinmarco|centro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a ortonormal: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula4.jpg|300px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Programa2 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; del fluido]]&lt;br /&gt;
[[Archivo:Programa3 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar el campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido junto con las curvas de nivel de la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafico2 C19.jpg|400px|miniaturadeimagen|centro|Función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; del fluido]]&lt;br /&gt;
[[Archivo:Grafico3 C19.jpg|400px|miniaturadeimagen|centro|Campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido sobre las curvas de nivel de &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
[[Archivo:Zoom.jpg|400px|miniaturadeimagen|centro|Detalle del campo de velocidades del fluido, donde se puede ver que &amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt; es, efectivamente, perpendicular a la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Conclusiones ===&lt;br /&gt;
Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
Por otra parte al ser &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; un campo definido solo en el plano y no en el espacio, al multiplicar &amp;lt;math&amp;gt;\nabla u·\vec n=0&amp;lt;/math&amp;gt;, da cero debido que el vector normal a la superficie es &amp;lt;math&amp;gt;\vec n=\vec k&amp;lt;/math&amp;gt;, y como nuestro campo está en dos dimensiones, esto va a ser siempre cero. Esto es:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Archivo:Formulac.jpg|400px|sinmarco|centro]]&lt;br /&gt;
Nótese que la dirección del campo vectorial es siempre perpendicular a la superficie equipotencial en cada punto, y apunta desde la equipotencial de mas alto potencial a la de más bajo potencial.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si nos situásemos muy lejos del obstáculo podríamos considerar &amp;lt;math&amp;gt;\frac{1}{\rho}=0 &amp;lt;/math&amp;gt; el campo &amp;lt;math&amp;gt;\vec u &amp;lt;/math&amp;gt; podría aproximarse a:&lt;br /&gt;
[[Archivo:Formula5.jpg|150px|sinmarco|centro]]&lt;br /&gt;
y por tanto su módulo:&lt;br /&gt;
[[Archivo:Formula6.jpg|250px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
==Incompresibilidad del fluido==&lt;br /&gt;
Para comprobar que realmente se trata de un fluido incompresible debemos calcular su rotacional y su divergencia y en base a eso, podremos determinarlo.&lt;br /&gt;
Al estar en coordenadas cilíndricas (o polares por estar trabajando en el plano), las fórmulas del rotaciones y la divergencia respectivamente son:&lt;br /&gt;
[[Archivo:Formula7.jpg|180px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula9.jpg|280px|sinmarco|centro]]&lt;br /&gt;
Procedemos a calcular:&lt;br /&gt;
[[Archivo:Formula8FINAL.jpg|900px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula10_2.jpg|1100px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt;\vec u &amp;lt;/math&amp;gt; es el campo de velocidades de nuestro fluido hemos calculado que su rotacional es nulo, por lo que las partículas no giran. En general este rotacional indica la cantidad neta de giro del fluido en dirección contraria a las manecillas del reloj alrededor de nuestra superficie. Indica por tanto su circulación, que como ya hemos indicado es nula.&lt;br /&gt;
La divergencia del campo vectorial &amp;lt;math&amp;gt;\vec u &amp;lt;/math&amp;gt; en un punto P es el flujo que sale del punto por unidad de volumen. En este caso la divergencia representa la razón de expansión por unidad de volumen bajo el flujo del fluido. Como la divergencia también nos da nula significa que el fluido no varía, se mantiene constante.&lt;br /&gt;
Todo esto nos lleva a afirmar que nuestro campo no gira ni se expande, es un fluido incompresible.&lt;br /&gt;
&lt;br /&gt;
==Líneas de corriente de la velocidad del fluido==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar las líneas de corriente del campo &amp;lt;math&amp;gt; \vec u &amp;lt;/math&amp;gt; es decir las líneas que son tangentes al campo de velocidad del fluido en cada punto. Para ello calcularemos el campo &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; que es ortogonal en cada punto. Por otra parte veremos por qué &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; es irracional y calcularemos su función potencial asociada para comprobar que sus líneas efectivamente son ortogonales a &amp;lt;math&amp;gt; \vec u &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Calculamos &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; como &amp;lt;math&amp;gt; \vec v =\vec k × \vec u &amp;lt;/math&amp;gt; y lo dejamos en coordenadas covariantes:&lt;br /&gt;
[[Archivo:Formula11_C19.jpg|850px|sinmarco|centro]]&lt;br /&gt;
Calculamos la función potencial de &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; basándonos en derivadas parciales:&lt;br /&gt;
[[Archivo:Formula12.jpg|550px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula13.jpg|350px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula14.jpg|200px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula15.jpg|450px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula16.jpg|140px|sinmarco|centro]]&lt;br /&gt;
Y además calculamos el rotacional de &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt;:&lt;br /&gt;
[[Archivo:Formulaa.jpg|175px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formulad.jpg|900px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Programa4 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar el campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido junto con las curvas de nivel de la función &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
[[Archivo:Grafico4 C19.jpg|400px|miniaturadeimagen|centro|Campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido sobre las curvas de nivel de &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;. Como se puede ver, las curvas de &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; son tangentes al campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; y, por tanto, serán ortogonales a las curvas equipotenciales ]]&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
En base a estos cálculos llegamos a distintas conclusiones que se pueden apreciar en la representación gráfica, ya que vemos que las líneas de corriente son efectivamente tangentes al campo de velocidades, y además que el campo &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; es irrotacional debido a que su divergencia es nula.&lt;br /&gt;
&lt;br /&gt;
==Velocidad máxima y mínima del fluido==&lt;br /&gt;
Una vez calculado el campo de velocidades y sus líneas de corriente, procederemos a estudiar los puntos de este campo en los que la velocidad es máxima y mínima, así como la representación de los puntos de remanso, en los cuales la velocidad es nula.&lt;br /&gt;
Calculamos el modulo del vector &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; en coordenadas contravariantes, fijando &amp;lt;math&amp;gt; \rho=2 &amp;lt;/math&amp;gt;, quedando en función del seno &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:Formula17.jpg|300px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula18_C19.jpg|1050px|sinmarco|centro]]&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
Los valores máximos y mínimos se darán en los valores correspondientes a &amp;lt;math&amp;gt;sin\theta=1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;sin\theta=-1&amp;lt;/math&amp;gt;, mientras que los valores nulos se encontrarán en &amp;lt;math&amp;gt;sin\theta=0&amp;lt;/math&amp;gt;. &lt;br /&gt;
De aquí se obtiene que la velocidad máxima corresponderá a los valores de &amp;lt;math&amp;gt;\theta=\frac{\pi}{2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\frac{3 \pi}{2}&amp;lt;/math&amp;gt;, mientras que los valores mínimos (y asimismo puntos de remanso) se obtendrán en los valores de &amp;lt;math&amp;gt;\theta=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\pi&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Presión del fluido==&lt;br /&gt;
===Ecuación de Bernouilli===&lt;br /&gt;
La ecuación de Bernoulli describe el comportamiento de un fluido bajo condiciones variantes y tiene la forma siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{1}{2}ρ (|\vec{u}|)^2 + p = cte &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la ecuación de Bernoulli intervienen los parámetros siguientes: &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt;: es la presión estática a la que está sometido el fluido, debida a las moléculas que lo rodean.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; : densidad del fluido, que en nuestro caso es 2.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u &amp;lt;/math&amp;gt;: velocidad de flujo del fluido. &lt;br /&gt;
&lt;br /&gt;
Esta ecuación se aplica en la dinámica de fluidos. Un fluido se caracteriza por carecer de elasticidad de forma, es decir, adopta la forma del recipiente que la contiene, esto se debe a que las moléculas de los fluidos no están rígidamente unidas, como en el caso de los sólidos. Fluidos son tanto gases como líquidos.&lt;br /&gt;
&lt;br /&gt;
Para llegar a la ecuación de Bernoulli se han de hacer ciertas suposiciones que nos limitan el nivel de aplicabilidad:&amp;lt;br /&amp;gt;&lt;br /&gt;
:- El fluido se mueve en un régimen estacionario, o sea, la velocidad del flujo en un punto no varía con el tiempo.&lt;br /&gt;
:- Se desprecia la viscosidad del fluido (que es una fuerza de rozamiento interna).&lt;br /&gt;
El efecto Bernoulli es una consecuencia directa que surge a partir de la ecuación de Bernoulli: en el caso de que el fluido sufra un aumento de la velocidad del flujo implica que la presión estática decrecerá. &lt;br /&gt;
Aplicando esto a nuestros datos para obtener la ecuación de la presión:&lt;br /&gt;
[[Archivo:Formula20.jpg|100px|sinmarco|centro]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Formula21.jpg|600px|sinmarco|centro]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Formula22.jpg|350px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
Cálculo de la presión:&lt;br /&gt;
[[Archivo:Programa5 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar la presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Representamos la función de la presión obteniendo lo siguiente:&lt;br /&gt;
[[Archivo:Grafico5 C19.jpg|400px|miniaturadeimagen|centro|Presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido (gráfica en 2D)]]&lt;br /&gt;
[[Archivo:Grafico6 C19.jpg|1000px|miniaturadeimagen|centro|Presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido (gráfica en 3D)]]&lt;br /&gt;
[[Archivo:Grafico7 C19.jpg|400px|miniaturadeimagen|centro|Presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido (curvas de nivel)]]&lt;br /&gt;
&lt;br /&gt;
===Cálculo numérico de la presión media===&lt;br /&gt;
Aquí hay que meter el apartado 12 del trabajo, que es la integral de la presión.&lt;br /&gt;
&lt;br /&gt;
==Movimiento de las partículas en el fluido==&lt;br /&gt;
Si nosotros  fuésemos una partícula a medida que nos acercamos al objeto, la línea de corriente en la que avanzamos sigue el contorno del objeto, rodeándolo, volviendo a su dirección original al pasarlo&lt;br /&gt;
&lt;br /&gt;
Suponiendo que la densidad del fluido es constante, se observa que la presión aumenta cuando la velocidad del fluido disminuye y viceversa. Así, se verifica la ecuación de Bernouilli. Conforme una partícula va acercándose al obstáculo, su velocidad va disminuyendo hasta alcanzar la mínima velocidad y a su vez la presión irá aumentando. Una vez la partícula llega al obstáculo, después de haber alcanzado su mínima velocidad, va disminuyendo la presión a la vez que la velocidad va aumentando hasta llegar a la velocidad máxima. De nuevo, experimenta una subida de presión cuando su velocidad vuelve a disminuir hasta anularse.&lt;br /&gt;
[[Archivo:Programa6.jpg|800px|miniaturadeimagen|centro|Programa para dibujar dos gráficos donde comparar la velocidad y la presión del fluido]]&lt;br /&gt;
[[Archivo:Grafico8.jpg|600px|miniaturadeimagen|centro|Gráficas de la velocidad y presión del fluido. Se puede comprobar que se alcanzan los máximos de presión (y por tanto, mínimos de velocidad) para &amp;lt;math&amp;gt;\theta=\frac{\pi}{2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\frac{3\pi}{2}&amp;lt;/math&amp;gt; y los mínimos de presión (y por tanto, máximos de velocidad) para &amp;lt;math&amp;gt;\theta=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\pi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Fuerza ejercida por el fluido==&lt;br /&gt;
Ilustraremos la paradoja de D’Alembert calculando la circulación del campo de velocidades.&lt;br /&gt;
Según el teorema Kutta-Joukowski la fuerza es proporcional a la circulación y dado que ésta (como demuestra el desarrollo matemático) es nula, teóricamente la fuerza que aplica el fluido sobre el obstáculo es igualmente nula, lo cual resulta ilógico, derivando así en la paradoja antes citada.&lt;br /&gt;
[[Archivo:Formula23.jpg|300px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Formula24.jpg|450px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Formula25.jpg|550px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
Se comprueba asi el teorema de Kutta-Joukowski, que establece que la fuerza que ejerce el fluido sobre el obstáculo (en nuestro caso el círculo unidad) es proporcional a la circulación y también a la densidad del fluido y la velocidad de este. La ecuación tiene la siguiente forma: &amp;lt;math&amp;gt;l=\rho v Γ&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Siendo:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
l: la fuerza de sustentación&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt;: densidad del fluido&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
v: velocidad del fluido&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Γ: la circulación&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Al ser nula, el fluido no ejerce ninguna fuerza sobre el obstáculo, en contra de la intuición.&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Waterproof.jpg&amp;diff=21478</id>
		<title>Archivo:Waterproof.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Waterproof.jpg&amp;diff=21478"/>
				<updated>2014-12-05T10:20:34Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=21433</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=21433"/>
				<updated>2014-12-05T09:53:59Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
En este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]&amp;lt;br/&amp;gt;[[:Categoría:TC14/15|Trabajos 2014-15]]|2014-15|Ana Martínez Lorente, Argimiro Martínez López, Alfredo Pazos Arjona, Elisa Pérez Marsilla e Isaac Rebollo Palos|}}&lt;br /&gt;
&lt;br /&gt;
==Concepto de fluido incompresible==&lt;br /&gt;
Un fluido incompresible es cualquier fluido cuya densidad siempre permanece constante con el tiempo, y tiene la capacidad de oponerse a la compresión del mismo bajo cualquier condición. En términos matemáticos, esto significa que la densidad de tal fluido se supone constante.&lt;br /&gt;
 &lt;br /&gt;
==Representación de la región ocupada por el fluido==&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [-5,5] x [-5,5].&lt;br /&gt;
&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Programa para dibujar un mallado que represente la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
Y aquí la representación gráfica del mallado:&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|1000px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==Campo de velocidad del fluido==&lt;br /&gt;
Tras haber observado la región que ocupa el fluido vamos a proceder a analizar la velocidad de las partículas de dicho fluido. Obtendremos por tanto un campo vectorial al que denominaremos &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=2cos \theta(\rho+\frac{4}{\rho}) &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Dada la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(2cos \theta(\rho+\frac{4}{\rho}) &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:Formula1_C19.jpg|450px|sinmarco|centro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a coordenadas contravariantes utilizando el cambio en base a la matriz de Gram: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula2.jpg|130px|sinmarco|centro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula3.jpg|300px|sinmarco|centro]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a ortonormal: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula4.jpg|300px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Programa2 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; del fluido]]&lt;br /&gt;
[[Archivo:Programa3 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar el campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido junto con las curvas de nivel de la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafico2 C19.jpg|400px|miniaturadeimagen|centro|Función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt; del fluido]]&lt;br /&gt;
[[Archivo:Grafico3 C19.jpg|400px|miniaturadeimagen|centro|Campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido sobre las curvas de nivel de &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
[[Archivo:Zoom.jpg|400px|miniaturadeimagen|centro|Detalle del campo de velocidades del fluido, donde se puede ver que &amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt; es, efectivamente, perpendicular a la función potencial &amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
=== Conclusiones ===&lt;br /&gt;
Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
Por otra parte al ser &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; un campo definido solo en el plano y no en el espacio, al multiplicar &amp;lt;math&amp;gt;\nabla u·\vec n=0&amp;lt;/math&amp;gt;, da cero debido que el vector normal a la superficie es &amp;lt;math&amp;gt;\vec n=\vec k&amp;lt;/math&amp;gt;, y como nuestro campo está en dos dimensiones, esto va a ser siempre cero. Esto es:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Archivo:Formulac.jpg|400px|sinmarco|centro]]&lt;br /&gt;
Nótese que la dirección del campo vectorial es siempre perpendicular a la superficie equipotencial en cada punto, y apunta desde la equipotencial de mas alto potencial a la de más bajo potencial.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Además, si nos situásemos muy lejos del obstáculo podríamos considerar &amp;lt;math&amp;gt;\frac{1}{\rho}=0 &amp;lt;/math&amp;gt; el campo &amp;lt;math&amp;gt;\vec u &amp;lt;/math&amp;gt; podría aproximarse a:&lt;br /&gt;
[[Archivo:Formula5.jpg|150px|sinmarco|centro]]&lt;br /&gt;
y por tanto su módulo:&lt;br /&gt;
[[Archivo:Formula6.jpg|250px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
==Incompresibilidad del fluido==&lt;br /&gt;
Para comprobar que realmente se trata de un fluido incompresible debemos calcular su rotacional y su divergencia y en base a eso, podremos determinarlo.&lt;br /&gt;
Al estar en coordenadas cilíndricas (o polares por estar trabajando en el plano), las fórmulas del rotaciones y la divergencia respectivamente son:&lt;br /&gt;
[[Archivo:Formula7.jpg|180px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula9.jpg|280px|sinmarco|centro]]&lt;br /&gt;
Procedemos a calcular:&lt;br /&gt;
[[Archivo:Formula8FINAL.jpg|900px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula10_2.jpg|1100px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
Sabiendo que &amp;lt;math&amp;gt;\vec u &amp;lt;/math&amp;gt; es el campo de velocidades de nuestro fluido hemos calculado que su rotacional es nulo, por lo que las partículas no giran. En general este rotacional indica la cantidad neta de giro del fluido en dirección contraria a las manecillas del reloj alrededor de nuestra superficie. Indica por tanto su circulación, que como ya hemos indicado es nula.&lt;br /&gt;
La divergencia del campo vectorial &amp;lt;math&amp;gt;\vec u &amp;lt;/math&amp;gt; en un punto P es el flujo que sale del punto por unidad de volumen. En este caso la divergencia representa la razón de expansión por unidad de volumen bajo el flujo del fluido. Como la divergencia también nos da nula significa que el fluido no varía, se mantiene constante.&lt;br /&gt;
Todo esto nos lleva a afirmar que nuestro campo no gira ni se expande, es un fluido incompresible.&lt;br /&gt;
&lt;br /&gt;
==Líneas de corriente de la velocidad del fluido==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar las líneas de corriente del campo &amp;lt;math&amp;gt; \vec u &amp;lt;/math&amp;gt; es decir las líneas que son tangentes al campo de velocidad del fluido en cada punto. Para ello calcularemos el campo &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; que es ortogonal en cada punto. Por otra parte veremos por qué &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; es irracional y calcularemos su función potencial asociada para comprobar que sus líneas efectivamente son ortogonales a &amp;lt;math&amp;gt; \vec u &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Calculamos &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; como &amp;lt;math&amp;gt; \vec v =\vec k × \vec u &amp;lt;/math&amp;gt; y lo dejamos en coordenadas covariantes:&lt;br /&gt;
[[Archivo:Formula11_C19.jpg|850px|sinmarco|centro]]&lt;br /&gt;
Calculamos la función potencial de &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; basándonos en derivadas parciales:&lt;br /&gt;
[[Archivo:Formula12.jpg|550px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula13.jpg|350px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula14.jpg|200px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula15.jpg|450px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula16.jpg|140px|sinmarco|centro]]&lt;br /&gt;
Y además calculamos el rotacional de &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt;:&lt;br /&gt;
[[Archivo:Formulaa.jpg|175px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formulab.jpg|480px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Programa4 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar el campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido junto con las curvas de nivel de la función &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
[[Archivo:Grafico4 C19.jpg|400px|miniaturadeimagen|centro|Campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; del fluido sobre las curvas de nivel de &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;. Como se puede ver, las curvas de &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; son tangentes al campo de velocidades &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt; y, por tanto, serán ortogonales a las curvas equipotenciales ]]&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
En base a estos cálculos llegamos a distintas conclusiones que se pueden apreciar en la representación gráfica, ya que vemos que las líneas de corriente son efectivamente tangentes al campo de velocidades, y además que el campo &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; es irrotacional debido a que su divergencia es nula.&lt;br /&gt;
&lt;br /&gt;
==Velocidad máxima y mínima del fluido==&lt;br /&gt;
Una vez calculado el campo de velocidades y sus líneas de corriente, procederemos a estudiar los puntos de este campo en los que la velocidad es máxima y mínima, así como la representación de los puntos de remanso, en los cuales la velocidad es nula.&lt;br /&gt;
Calculamos el modulo del vector &amp;lt;math&amp;gt; \vec v &amp;lt;/math&amp;gt; en coordenadas contravariantes, fijando &amp;lt;math&amp;gt; \rho=2 &amp;lt;/math&amp;gt;, quedando en función del seno &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;&lt;br /&gt;
[[Archivo:Formula17.jpg|300px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula18_C19.jpg|1050px|sinmarco|centro]]&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
Los valores máximos y mínimos se darán en los valores correspondientes a &amp;lt;math&amp;gt;sin\theta=1&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;sin\theta=-1&amp;lt;/math&amp;gt;, mientras que los valores nulos se encontrarán en &amp;lt;math&amp;gt;sin\theta=0&amp;lt;/math&amp;gt;. &lt;br /&gt;
De aquí se obtiene que la velocidad máxima corresponderá a los valores de &amp;lt;math&amp;gt;\theta=\frac{\pi}{2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\frac{3 \pi}{2}&amp;lt;/math&amp;gt;, mientras que los valores mínimos (y asimismo puntos de remanso) se obtendrán en los valores de &amp;lt;math&amp;gt;\theta=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\pi&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Presión del fluido==&lt;br /&gt;
===Ecuación de Bernouilli===&lt;br /&gt;
La ecuación de Bernoulli describe el comportamiento de un fluido bajo condiciones variantes y tiene la forma siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{1}{2}ρ (|\vec{u}|)^2 + p = cte &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la ecuación de Bernoulli intervienen los parámetros siguientes: &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt;: es la presión estática a la que está sometido el fluido, debida a las moléculas que lo rodean.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\rho&amp;lt;/math&amp;gt; : densidad del fluido, que en nuestro caso es 2.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \vec u &amp;lt;/math&amp;gt;: velocidad de flujo del fluido. &lt;br /&gt;
&lt;br /&gt;
Esta ecuación se aplica en la dinámica de fluidos. Un fluido se caracteriza por carecer de elasticidad de forma, es decir, adopta la forma del recipiente que la contiene, esto se debe a que las moléculas de los fluidos no están rígidamente unidas, como en el caso de los sólidos. Fluidos son tanto gases como líquidos.&lt;br /&gt;
&lt;br /&gt;
Para llegar a la ecuación de Bernoulli se han de hacer ciertas suposiciones que nos limitan el nivel de aplicabilidad:&amp;lt;br /&amp;gt;&lt;br /&gt;
:- El fluido se mueve en un régimen estacionario, o sea, la velocidad del flujo en un punto no varía con el tiempo.&lt;br /&gt;
:- Se desprecia la viscosidad del fluido (que es una fuerza de rozamiento interna).&lt;br /&gt;
El efecto Bernoulli es una consecuencia directa que surge a partir de la ecuación de Bernoulli: en el caso de que el fluido sufra un aumento de la velocidad del flujo implica que la presión estática decrecerá. &lt;br /&gt;
Aplicando esto a nuestros datos para obtener la ecuación de la presión:&lt;br /&gt;
[[Archivo:Formula20.jpg|100px|sinmarco|centro]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Formula21.jpg|600px|sinmarco|centro]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Formula22.jpg|350px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
Cálculo de la presión:&lt;br /&gt;
[[Archivo:Programa5 C19.jpg|1000px|miniaturadeimagen|centro|Programa para dibujar la presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Representamos la función de la presión obteniendo lo siguiente:&lt;br /&gt;
[[Archivo:Grafico5 C19.jpg|400px|miniaturadeimagen|centro|Presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido (gráfica en 2D)]]&lt;br /&gt;
[[Archivo:Grafico6 C19.jpg|1000px|miniaturadeimagen|centro|Presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido (gráfica en 3D)]]&lt;br /&gt;
[[Archivo:Grafico7 C19.jpg|400px|miniaturadeimagen|centro|Presión &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; del fluido (curvas de nivel)]]&lt;br /&gt;
&lt;br /&gt;
===Cálculo numérico de la presión media===&lt;br /&gt;
Aquí hay que meter el apartado 12 del trabajo, que es la integral de la presión.&lt;br /&gt;
&lt;br /&gt;
==Movimiento de las partículas en el fluido==&lt;br /&gt;
Si nosotros  fuésemos una partícula a medida que nos acercamos al objeto, la línea de corriente en la que avanzamos sigue el contorno del objeto, rodeándolo, volviendo a su dirección original al pasarlo&lt;br /&gt;
&lt;br /&gt;
Suponiendo que la densidad del fluido es constante, se observa que la presión aumenta cuando la velocidad del fluido disminuye y viceversa. Así, se verifica la ecuación de Bernouilli. Conforme una partícula va acercándose al obstáculo, su velocidad va disminuyendo hasta alcanzar la mínima velocidad y a su vez la presión irá aumentando. Una vez la partícula llega al obstáculo, después de haber alcanzado su mínima velocidad, va disminuyendo la presión a la vez que la velocidad va aumentando hasta llegar a la velocidad máxima. De nuevo, experimenta una subida de presión cuando su velocidad vuelve a disminuir hasta anularse.&lt;br /&gt;
[[Archivo:Programa6.jpg|800px|miniaturadeimagen|centro|Programa para dibujar dos gráficos donde comparar la velocidad y la presión del fluido]]&lt;br /&gt;
[[Archivo:Grafico8.jpg|600px|miniaturadeimagen|centro|Gráficas de la velocidad y presión del fluido. Se puede comprobar que se alcanzan los máximos de presión (y por tanto, mínimos de velocidad) para &amp;lt;math&amp;gt;\theta=\frac{\pi}{2}&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\frac{3\pi}{2}&amp;lt;/math&amp;gt; y los mínimos de presión (y por tanto, máximos de velocidad) para &amp;lt;math&amp;gt;\theta=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\pi&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==Fuerza ejercida por el fluido==&lt;br /&gt;
:Ilustraremos la paradoja de D’Alembert calculando la circulación del campo de velocidades.&lt;br /&gt;
:Según el teorema Kutta-Joukowski la fuerza es proporcional a la circulación y dado que ésta (como demuestra el desarrollo matemático) es nula, teóricamente la fuerza que aplica el fluido sobre el obstáculo es igualmente nula, lo cual resulta ilógico, derivando así en la paradoja antes citada.&lt;br /&gt;
[[Archivo:Formula23.jpg|300px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula24.jpg|500px|sinmarco|centro]]&lt;br /&gt;
[[Archivo:Formula25.jpg|600px|sinmarco|centro]]&lt;br /&gt;
&lt;br /&gt;
===Conclusiones===&lt;br /&gt;
:Se comprueba asi el teorema de Kutta-Joukowski, que establece que la fuerza que ejerce el fluido sobre el obstáculo (en nuestro caso el círculo unidad) es proporcional a la circulación y también a la densidad del fluido y la velocidad de este. La ecuación tiene la siguiente forma: &amp;lt;math&amp;gt; l=ρvΓ &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siendo:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
l: la fuerza de sustentación&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ρ: densidad del fluido&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
v: velocidad del fluido&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Γ: la circulación&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Al ser nula, el fluido no ejerce ninguna fuerza sobre el obstáculo, en contra de la intuición.&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18163</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18163"/>
				<updated>2014-12-03T09:59:16Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* CAMPO DE VELOCIDAD DEL FLUIDO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Introducción: en este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:Trabajos 2014-15|2014-15]]}}&lt;br /&gt;
==REPRESENTACIÓN DE LA REGIÓN OCUPADA POR EL FLUIDO==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [5,5]x[5,5]&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular&lt;br /&gt;
[&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Dibujar la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|400px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==CAMPO DE VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 2 y 3 y 4&lt;br /&gt;
===Planteamiento===&lt;br /&gt;
:Tras haber observado la región que ocupa el fluido vamos a proceder a analizar la velocidad de las partículas de dicho fluido. Obtendremos por tanto un campo vectorial al que denominaremos &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
:Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial phi''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=2cos \theta(\rho+4/\rho) &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
:Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
===Desarrollo matemático===&lt;br /&gt;
:Dada la función potencial phi (&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;) antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(2cos \theta\rho+1/\rho) &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:Formula1.jpg|400px|miniaturadeimagen|centro|Velocidad del fluido]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a coordenadas contravariantes utilizando el cambio en base a la matriz de Gram &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula2.jpg|400px|miniaturadeimagen|centro|Paso de covariantes a contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula3.jpg|400px|miniaturadeimagen|centro|Velocidad en contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a ortonormal &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula4.jpg|400px|miniaturadeimagen|centro|Velocidad en ortonormal]]&lt;br /&gt;
&lt;br /&gt;
==INCOMPRESIBILIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 5&lt;br /&gt;
==LÍNEAS DE CORRIENTE DE LA VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 6&lt;br /&gt;
==VELOCIDAD MÁXIMA Y MÍNIMA DEL FLUIDO==&lt;br /&gt;
Apartado 7&lt;br /&gt;
==PRESIÓN DEL FLUIDO==&lt;br /&gt;
Apartado 8, 11 y 12&lt;br /&gt;
==MOVIMIENTO DE LAS PARTÍCULAS EN EL FLUIDO==&lt;br /&gt;
Apartado 9&lt;br /&gt;
==FUERZA EJERCIDA POR UN FLUIDO==&lt;br /&gt;
Apartado 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18161</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18161"/>
				<updated>2014-12-03T09:58:56Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Desarrollo matemático */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Introducción: en este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:Trabajos 2014-15|2014-15]]}}&lt;br /&gt;
==REPRESENTACIÓN DE LA REGIÓN OCUPADA POR EL FLUIDO==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [5,5]x[5,5]&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular&lt;br /&gt;
[&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Dibujar la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|400px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==CAMPO DE VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 2 y 3 y 4&lt;br /&gt;
===Planteamiento===&lt;br /&gt;
:Tras haber observado la región que ocupa el fluido vamos a proceder a analizar la velocidad de las partículas de dicho fluido. Obtendremos por tanto un campo vectorial al que denominaremos &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
:Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial phi''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=2cos \theta(\rho+4/\rho) &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
:Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
&lt;br /&gt;
==INCOMPRESIBILIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 5&lt;br /&gt;
==LÍNEAS DE CORRIENTE DE LA VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 6&lt;br /&gt;
==VELOCIDAD MÁXIMA Y MÍNIMA DEL FLUIDO==&lt;br /&gt;
Apartado 7&lt;br /&gt;
==PRESIÓN DEL FLUIDO==&lt;br /&gt;
Apartado 8, 11 y 12&lt;br /&gt;
==MOVIMIENTO DE LAS PARTÍCULAS EN EL FLUIDO==&lt;br /&gt;
Apartado 9&lt;br /&gt;
==FUERZA EJERCIDA POR UN FLUIDO==&lt;br /&gt;
Apartado 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18160</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18160"/>
				<updated>2014-12-03T09:58:45Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* CAMPO DE VELOCIDAD DEL FLUIDO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Introducción: en este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:Trabajos 2014-15|2014-15]]}}&lt;br /&gt;
==REPRESENTACIÓN DE LA REGIÓN OCUPADA POR EL FLUIDO==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [5,5]x[5,5]&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular&lt;br /&gt;
[&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Dibujar la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|400px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==CAMPO DE VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 2 y 3 y 4&lt;br /&gt;
===Planteamiento===&lt;br /&gt;
:Tras haber observado la región que ocupa el fluido vamos a proceder a analizar la velocidad de las partículas de dicho fluido. Obtendremos por tanto un campo vectorial al que denominaremos &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
:Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial phi''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=2cos \theta(\rho+4/\rho) &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
:Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo matemático==&lt;br /&gt;
:Dada la función potencial phi (&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;) antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(2cos \theta\rho+1/\rho) &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:Formula1.jpg|400px|miniaturadeimagen|centro|Velocidad del fluido]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a coordenadas contravariantes utilizando el cambio en base a la matriz de Gram &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula2.jpg|400px|miniaturadeimagen|centro|Paso de covariantes a contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula3.jpg|400px|miniaturadeimagen|centro|Velocidad en contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a ortonormal &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula4.jpg|400px|miniaturadeimagen|centro|Velocidad en ortonormal]]&lt;br /&gt;
&lt;br /&gt;
==INCOMPRESIBILIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 5&lt;br /&gt;
==LÍNEAS DE CORRIENTE DE LA VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 6&lt;br /&gt;
==VELOCIDAD MÁXIMA Y MÍNIMA DEL FLUIDO==&lt;br /&gt;
Apartado 7&lt;br /&gt;
==PRESIÓN DEL FLUIDO==&lt;br /&gt;
Apartado 8, 11 y 12&lt;br /&gt;
==MOVIMIENTO DE LAS PARTÍCULAS EN EL FLUIDO==&lt;br /&gt;
Apartado 9&lt;br /&gt;
==FUERZA EJERCIDA POR UN FLUIDO==&lt;br /&gt;
Apartado 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18159</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18159"/>
				<updated>2014-12-03T09:58:28Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Planteamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Introducción: en este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:Trabajos 2014-15|2014-15]]}}&lt;br /&gt;
==REPRESENTACIÓN DE LA REGIÓN OCUPADA POR EL FLUIDO==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [5,5]x[5,5]&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular&lt;br /&gt;
[&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Dibujar la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|400px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==CAMPO DE VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 2 y 3 y 4&lt;br /&gt;
==Desarrollo matemático==&lt;br /&gt;
:Dada la función potencial phi (&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;) antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(2cos \theta\rho+1/\rho) &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:Formula1.jpg|400px|miniaturadeimagen|centro|Velocidad del fluido]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a coordenadas contravariantes utilizando el cambio en base a la matriz de Gram &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula2.jpg|400px|miniaturadeimagen|centro|Paso de covariantes a contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula3.jpg|400px|miniaturadeimagen|centro|Velocidad en contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a ortonormal &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula4.jpg|400px|miniaturadeimagen|centro|Velocidad en ortonormal]]&lt;br /&gt;
&lt;br /&gt;
==INCOMPRESIBILIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 5&lt;br /&gt;
==LÍNEAS DE CORRIENTE DE LA VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 6&lt;br /&gt;
==VELOCIDAD MÁXIMA Y MÍNIMA DEL FLUIDO==&lt;br /&gt;
Apartado 7&lt;br /&gt;
==PRESIÓN DEL FLUIDO==&lt;br /&gt;
Apartado 8, 11 y 12&lt;br /&gt;
==MOVIMIENTO DE LAS PARTÍCULAS EN EL FLUIDO==&lt;br /&gt;
Apartado 9&lt;br /&gt;
==FUERZA EJERCIDA POR UN FLUIDO==&lt;br /&gt;
Apartado 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18158</id>
		<title>Visualización de campos escalares y vectoriales en fluidos (C-19)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Visualizaci%C3%B3n_de_campos_escalares_y_vectoriales_en_fluidos_(C-19)&amp;diff=18158"/>
				<updated>2014-12-03T09:57:49Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* CAMPO DE VELOCIDAD DEL FLUIDO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Introducción: en este artículo vamos a analizar el flujo de un fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano. Para trabajar con mayor comodidad vamos a utilizar las coordenadas cilíndricas (polares ya que estamos en el plano), debido a la forma del objeto y a la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Trabajo|Visualización de campos escalares y vectoriales en fluidos (C-19)|[[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:Trabajos 2014-15|2014-15]]}}&lt;br /&gt;
==REPRESENTACIÓN DE LA REGIÓN OCUPADA POR EL FLUIDO==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
En primer lugar, vamos a representar la región ocupada por el fluido a través de un mallado circular, acotando a la región de estudio por el cuadrado [5,5]x[5,5]&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
Recogemos aquí los comando empleados en el programa MATLAB para realizar el mallado circular&lt;br /&gt;
[&lt;br /&gt;
[[Archivo:Programa1.jpg|800px|miniaturadeimagen|centro|Dibujar la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
[[Archivo:Región ocupada oor el fluido.jpg|400px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
==CAMPO DE VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 2 y 3 y 4&lt;br /&gt;
==Planteamiento==&lt;br /&gt;
:Tras haber observado la región que ocupa el fluido vamos a proceder a analizar la velocidad de las partículas de dicho fluido. Obtendremos por tanto un campo vectorial al que denominaremos &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
:Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial phi''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=2cos \theta(\rho+4/\rho) &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
:Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
==Desarrollo matemático==&lt;br /&gt;
:Dada la función potencial phi (&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;) antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(2cos \theta\rho+1/\rho) &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:Formula1.jpg|400px|miniaturadeimagen|centro|Velocidad del fluido]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a coordenadas contravariantes utilizando el cambio en base a la matriz de Gram &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula2.jpg|400px|miniaturadeimagen|centro|Paso de covariantes a contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula3.jpg|400px|miniaturadeimagen|centro|Velocidad en contravariantes]] &amp;lt;br /&amp;gt;&lt;br /&gt;
Lo pasamos a ortonormal &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Formula4.jpg|400px|miniaturadeimagen|centro|Velocidad en ortonormal]]&lt;br /&gt;
&lt;br /&gt;
==INCOMPRESIBILIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 5&lt;br /&gt;
==LÍNEAS DE CORRIENTE DE LA VELOCIDAD DEL FLUIDO==&lt;br /&gt;
Apartado 6&lt;br /&gt;
==VELOCIDAD MÁXIMA Y MÍNIMA DEL FLUIDO==&lt;br /&gt;
Apartado 7&lt;br /&gt;
==PRESIÓN DEL FLUIDO==&lt;br /&gt;
Apartado 8, 11 y 12&lt;br /&gt;
==MOVIMIENTO DE LAS PARTÍCULAS EN EL FLUIDO==&lt;br /&gt;
Apartado 9&lt;br /&gt;
==FUERZA EJERCIDA POR UN FLUIDO==&lt;br /&gt;
Apartado 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:TC14/15]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Formula4.jpg&amp;diff=18155</id>
		<title>Archivo:Formula4.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Formula4.jpg&amp;diff=18155"/>
				<updated>2014-12-03T09:53:54Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Formula3.jpg&amp;diff=18154</id>
		<title>Archivo:Formula3.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Formula3.jpg&amp;diff=18154"/>
				<updated>2014-12-03T09:52:58Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Formula2.jpg&amp;diff=18153</id>
		<title>Archivo:Formula2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Formula2.jpg&amp;diff=18153"/>
				<updated>2014-12-03T09:52:15Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=An%C3%A1lisis_sobre_el_flujo_de_un_fluido_incompresible_(Grupo_4A)&amp;diff=18150</id>
		<title>Análisis sobre el flujo de un fluido incompresible (Grupo 4A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=An%C3%A1lisis_sobre_el_flujo_de_un_fluido_incompresible_(Grupo_4A)&amp;diff=18150"/>
				<updated>2014-12-03T09:50:16Z</updated>
		
		<summary type="html">&lt;p&gt;Amlopez: /* Desarrollo matemático */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Para llevar a cabo el análisis se pretende estudiar el desarrollo del flujo del fluido incompresible alrededor de un obstáculo sólido con forma circular en el sistema plano (R2). &amp;lt;br /&amp;gt;&lt;br /&gt;
A fin de trabajar con mayor comodidad en dicho plano se empleará un sistema de coordenadas cilíndricas (polares, dado que se trabaja en el plano), debido a la forma del objeto y de la región de estudio.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Todas las gráficas aquí publicadas han sido obtenidas a través del programa [[MATLAB]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Trabajo|Análisis sobre el flujo de un fluido incompresible (Grupo 4A)|[[:Categoría:Teoría de Campos|Teoría de Campos]]|[[:Categoría:Trabajos 2013-14|2013-14]]}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 1: REGIÓN DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:En primera instancia, se representará la región ocupada por el fluido a través de un mallado circular, acotando la región de estudio por el cuadrado &amp;lt;math&amp;gt;[-4,4]\times[-4,4]&amp;lt;/math&amp;gt;.&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
:Recogemos aquí los comandos empleados en el programa Matlab para realizar el mallado circular:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Region4Aproced.png|600px|miniaturadeimagen|centro|Dibujamos la región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Adjuntamos la gráfica donde queda recogida la región antes citada:&lt;br /&gt;
[[Archivo:Region4Afigura.png|400px|miniaturadeimagen|centro|Región ocupada por el fluido]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 2: VELOCIDAD DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:En el siguiente punto a tratar se observará la velocidad adquirida por las partículas del fluido. Se obtendrá de esta forma un campo vectorial en el cual denominaremos a la velocidad por el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;). &amp;lt;br /&amp;gt;&lt;br /&gt;
:Para lograr la visualización de dicho campo se recurrirá a la representación de la '''función potencial phi''' (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(\rho+1/\rho)\cos \theta &amp;lt;/math&amp;gt;), cuyo gradiente son las componentes de la velocidad en cada punto (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;). &lt;br /&gt;
:Se observa que la velocidad es ortogonal en todo momento a las curvas de nivel de la función potencial.&lt;br /&gt;
&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
:Dada la función potencial phi (&amp;lt;math&amp;gt;\varphi&amp;lt;/math&amp;gt;) antes definida (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(\rho+1/\rho)\cos \theta &amp;lt;/math&amp;gt;) procedemos a su derivación para encontrar el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) definido como el gradiente de dicha función potencial (&amp;lt;math&amp;gt;\vec u=\nabla \varphi&amp;lt;/math&amp;gt;).&lt;br /&gt;
[[Archivo:tu.jpg|600px|miniaturadeimagen|centro|Velocidad del fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
:Los comandos empleados en Matlab para obtener la velocidad fueron:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Velocidad4Aproced.png|600px|miniaturadeimagen|centro|Representamos el campo de velocidades]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Adjuntamos la gráfica donde queda recogido el campo vectorial de velocidades antes descrito:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Velocidad4Afigura.png|400px|miniaturadeimagen|centro|Campo vectorial de velocidades]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Aplicando zoom=2 en Matlab acercamos la región representada para observar más detalladamente que las curvas de nivel de la función potencial son ortogonales en todo momento a la velocidad del fluido:&lt;br /&gt;
[[Archivo:Apar2ampliado.jpg|500px|miniaturadeimagen|centro|Velocidad del fluido con zoom=2 ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 3: INCOMPRESIBILIDAD DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:Para comprobar la condición de incompresibilidad recurriremos a la divergencia de la velocidad, comprobando que ésta es nula y, por tanto el fluido localmente mantiene su volumen. &lt;br /&gt;
:A fin de ampliar nuestro estudio, calcularemos asimismo el rotacional de la velocidad y observaremos que éste es nulo (el fluido no gira).&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
[[Archivo:tu.jpg|600px|miniaturadeimagen|centro|Velocidad del fluido]]&lt;br /&gt;
&lt;br /&gt;
:Como ya vimos en la Fase 2.2, siendo el vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) el gradiente de la función potencial, para obtener las componentes de la velocidad basta con calcular las derivadas parciales de la ecuación. &lt;br /&gt;
:Una vez obtenidas, es cuestión de realizar un producto vectorial y escalar para obtener, respectivamente, el '''rotacional''' y la '''divergencia'''. &lt;br /&gt;
:Como se puede observar, ambos son nulos.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ROT2.jpg|600px|miniaturadeimagen|centro|Un campo con rotacional nulo se denomina '''Campo Irrotacional''']]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:tDiv.jpg|600px|miniaturadeimagen|centro|La divergencia nula demuestra la condición de incompresibilidad]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 4: LÍNEAS DE CORRIENTE DE LA VELOCIDAD DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:En este apartado se representarán las líneas de corriente del campo de velocidades acudiendo para ello a la '''función de corriente''' del campo, llamada psi (&amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;). &lt;br /&gt;
:El proceso consiste en asignar un valor constante a dicha función y obtener así una serie de líneas, las cuales corresponden a las líneas de corriente que se pretende dibujar.&lt;br /&gt;
:La función de corriente es el '''potencial escalar''' del vector v (&amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;), donde v (&amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;) es ortogonal al vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;), y se define como el producto vectorial de los vectores k y u (&amp;lt;math&amp;gt;\vec v=\vec k \times \vec u&amp;lt;/math&amp;gt;) .&lt;br /&gt;
&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
:Por tener divergencia nula el campo vectorial u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) admite lo que se denomina potencial vector.&lt;br /&gt;
:El flujo fi (Φ) del campo de velocidades u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) a través de una curva del plano (en este caso nuestro obstáculo) es la cantidad de fluido que atraviesa la curva del plano en la unidad de tiempo ('''caudal''').&lt;br /&gt;
[[Archivo:TCaudal4a.jpg|600px|miniaturadeimagen|centro|Caudal]]&lt;br /&gt;
&lt;br /&gt;
:Es decir, el flujo del campo vectorial u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) a través de la curva es lo mismo que la '''circulación''' del campo ortogonal v anteriormente definido  (&amp;lt;math&amp;gt;\vec v=\vec k \times \vec u&amp;lt;/math&amp;gt;)  a lo largo de la curva.&lt;br /&gt;
&lt;br /&gt;
:Si psi (&amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;) es la función de corriente de u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;), psi (&amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;) es el potencial escalar de v (&amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;), es decir, el vector v es el gradiente de la función psi (&amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt; = ∇&amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
:Entonces: [[Archivo:TV.jpg|300px|miniaturadeimagen|centro|Vector &amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
:Procedemos al cálculo del campo vectorial v (&amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;) mediante la definición de éste como el producto vectorial de u por k (&amp;lt;math&amp;gt;\vec v=\vec k \times \vec u&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:V4at.jpg|750px|miniaturadeimagen|centro|Vector &amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
:Ahora integramos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:TDerivadas.jpg|200px|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
:Integrando una de ellas e igualándola a la restante obtenemos los términos que no son comunes a ésta, los cuales integraremos obteniendo una función + una constante, la cual tomaremos como cero obteniendo así la función requerida:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Funcionre.jpg|200px|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
:Recogemos en este apartado los comandos empleados en Matlab para dibujar las líneas de corriente de la velocidad del fluido: &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Corriente4Aproced.png|600px|miniaturadeimagen|centro|Hallamos las líneas de corriente de &amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Se adjunta la gráfica con las líneas de corriente de u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;):&lt;br /&gt;
[[Archivo:Corriente4Afigura.png|400px|miniaturadeimagen|centro|Líneas de corriente de la velocidad]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Observando con zoom=1,5 podemos ver que el campo de velocidades del vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) es tangente a las líneas de corriente obtenidas: &lt;br /&gt;
[[Archivo:Apar4ampliado.jpg|500px|miniaturadeimagen|centro|Líneas de corriente de la velocidad con zoom=1,5]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 5: VELOCIDADES MÁXIMAS Y MÍNIMAS DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:Una vez calculado el campo de velocidades y sus líneas de corriente, procederemos a estudiar los puntos de este campo en los que la velocidad es máxima y mínima, así como la representación de los '''puntos de remanso''', en los cuales la velocidad es nula.&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
:Asignándole el valor 1 a la variable ro (&amp;lt;math&amp;gt;\rho=1&amp;lt;/math&amp;gt;) obtenemos el estudio de la frontera S. &lt;br /&gt;
[[Archivo:TVelo2.jpg|600px|miniaturadeimagen|centro|&amp;lt;math&amp;gt;\rho=1&amp;lt;/math&amp;gt;]]&lt;br /&gt;
:Se puede observar a simple vista que la función velocidad varía según el seno del ángulo theta (&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;). &lt;br /&gt;
[[Archivo:TVelo1.jpg|600px|miniaturadeimagen|centro|Velocidad en la frontera S]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Al obtener el módulo de la velocidad, particularizando en ro con valor 1 (&amp;lt;math&amp;gt;\rho=1&amp;lt;/math&amp;gt;), se tiene que la función depende del valor absoluto del seno de theta (|sen(&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;)|).  Así pues, los valores máximos y mínimos se darán en los valores correspondientes a seno de theta igual a 1 y -1 (sen(&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;)=1 y sen(&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;)=−1), mientras que los valores nulos se encontrarán en seno de theta igual a 0 (sen(&amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt;)=0). &lt;br /&gt;
:De aquí se obtiene que la velocidad máxima corresponderán a los valores de theta pi medios (&amp;lt;math&amp;gt;\theta=\frac{\pi}{2}&amp;lt;/math&amp;gt;) y tres pi medios (&amp;lt;math&amp;gt;\theta=\frac{3 \pi}{2}&amp;lt;/math&amp;gt;), y los valores mínimos (y asimismo puntos de remanso) se obtendrán en los valores de theta cero y pi (&amp;lt;math&amp;gt;\theta=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\theta=\pi&amp;lt;/math&amp;gt;). &lt;br /&gt;
[[Archivo:Maxmin.jpg|200px|miniaturadeimagen|centro|Velocidad en la frontera S]]&lt;br /&gt;
&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
:Exponemos en este punto los comandos empleados en Matlab para obtener la gráfica:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Velmaxmin4Aproced.png|650px|miniaturadeimagen|centro|Representamos los máximos y mínimos o remansos de la velocidad]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Hemos representado con 4 cruces rojas los puntos anteriormente detallados.&lt;br /&gt;
:Además, se puede observar que la velocidad va en aumento desde el primer punto de remanso hasta alcanzar su máximo valor, y posteriormente va disminuyendo su valor hasta que alcanza el segundo punto de remanso:&lt;br /&gt;
[[Archivo:Velmaxmin4Afigura.png|400px|miniaturadeimagen|centro|Velocidades máxima y mínima o zonas de remanso]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Ampliamos con zoom=1,5 la región de estudio para observar con mayor detalle los puntos mencionados:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Velmaxmin4Afigurazoom.png|500px|miniaturadeimagen|centro|Velocidad máxima y mínima con zoom=1,5]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 6: PRESIÓN DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:Gracias a la '''ecuación de Bernoulli''', la cual describe el comportamiento de un fluido relacionando velocidad y presión, podemos obtener el valor de la presión del fluido. &lt;br /&gt;
:Siendo la ecuación  &amp;lt;math&amp;gt; \frac{1}{2} \rho |\vec u|^2 + p = cte, &amp;lt;/math&amp;gt;  y, dado el supuesto de que la densidad es igual a 2 (&amp;lt;math&amp;gt;\rho=2&amp;lt;/math&amp;gt;), se le otorgarán valores a la constante para representar la presión. &lt;br /&gt;
:Asimismo, se obtendrán los valores máximos y mínimos de la presión en todo el campo, los cuales presentan una relación con los puntos de mayor y menor velocidad. Se deduce así que, para mantener la igualdad de la ecuación, cuando la presión aumenta, la velocidad disminuye, y viceversa.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Bernou.jpg|400px|miniaturadeimagen|centro|Ecuación de Bernoulli]]&lt;br /&gt;
&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
:Aplicados los valores a la función, nos encontramos con el resultado de la primera imagen. Como se puede observar, se le ha otorgado un valor de 10 a la constante. Esto se debe a motivos puramente estéticos, ya que permite que en el campo de presiones, mostrado más adelante, no queden valores por debajo de 0. Por otra parte, se consiguen resultados con una mejor interpretación física.&lt;br /&gt;
[[Archivo:Pres.jpg|600px|miniaturadeimagen|centro|Presión]]&lt;br /&gt;
&lt;br /&gt;
:Para obtener el módulo de la velocidad no hay más que multiplicar cada componente por sí misma, para lo cual basta con pre y post multiplicar la matriz de Gram por cada vector componente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Velo3mod1.jpg|600px|miniaturadeimagen|centro|Cómo calcular el módulo de la velocidad al cuadrado]]&lt;br /&gt;
[[Archivo:Gram polares.jpg|600px|miniaturadeimagen|centro|Matriz de Gram de polares ]]&lt;br /&gt;
[[Archivo:Velo3mod.jpg|600px|miniaturadeimagen|centro|Resultado del módulo de la velocidad al cuadrado]]&lt;br /&gt;
&lt;br /&gt;
:Una vez calculado el módulo del vector u (&amp;lt;math&amp;gt;\vec u&amp;lt;/math&amp;gt;) respecto a sus componentes, ya sólo queda sustituir en la ecuación, con lo cual obtenemos al fin la definición del campo escalar de presiones.&lt;br /&gt;
[[Archivo:TPresion.jpg|600px|miniaturadeimagen|centro|Presión tomada para una cte=10]]&lt;br /&gt;
&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
:Recogemos aquí los comandos empleados para dibujar las diversas gráficas:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Pres4Aproced.png|600px|miniaturadeimagen|centro|Hallamos la presión del fluido]]&lt;br /&gt;
[[Archivo:Pres3D4Aproced.png|600px|miniaturadeimagen|centro|Representamos la presión del fluido en 3D]]&lt;br /&gt;
[[Archivo:Presion4Aproced.png|600px|miniaturadeimagen|centro|Comparamos la presión y la velocidad del fluido]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Adjuntamos las gráficas donde se plasman los diversos valores de la presión así como su comparación con los valores del módulo de la velocidad:&lt;br /&gt;
[[Archivo:Pres4Afigura.png|400px|miniaturadeimagen|centro|Presión del fluido]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Pres3D4Afigura.png|400px|miniaturadeimagen|centro|Presión del fluido en 3D]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Presion4Afigura.png|400px|miniaturadeimagen|centro|Comparación de presión del fluido y campo de velocidades]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Para una mejor observación ampliamos la región con zoom=2:&lt;br /&gt;
[[Archivo:Apar6ampliado.jpg|500px|miniaturadeimagen|centro|Comparación de presión del fluido y campo de velocidades zoom=2]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 7: MOVIMIENTO DE UNA PARTÍCULA DEL FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:Tras haber analizado los campos de velocidades y presiones nos disponemos a estudiar el movimiento de una partícula del fluido a lo largo de su trayectoria, rodeando así el obstáculo.&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
:Hemos creído conveniente recoger aquí los comandos empleados en Matlab para realizar la gráfica:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Trayectoria4Aproced.png|600px|miniaturadeimagen|centro|Proceso realizado con Matlab]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Adjuntamos la gráfica donde queda recogida la trayectoria de la partícula de fluido rodeando el obstáculo:&lt;br /&gt;
[[Archivo:Trayectoria4Afigura.png|400px|miniaturadeimagen|centro|Trayectoria de la partícula]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Para mejor observación ampliamos la sección con zoom=2 :&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Apar7ampliado.jpg|500px|miniaturadeimagen|centro|Trayectoria de la partícula con zoom=2]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Aclaración: las líneas amarillas corresponden al módulo de la velocidad, las líneas oscuras a la presión y las líneas semihorizontales a la función de corriente.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 8: FUERZA EJERCIDA POR FLUIDO ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:Ilustraremos la paradoja de D’Alembert calculando la circulación del campo de velocidades. &lt;br /&gt;
:Según el teorema Kutta-Joukowski la fuerza es proporcional a la circulación y dado que ésta (como demuestra el desarrollo matemático) es nula, teóricamente la fuerza que aplica el fluido sobre el obstáculo es igualmente nula, lo cual resulta ilógico, derivando así en la paradoja antes citada.&lt;br /&gt;
[[Archivo:Kuttabien4a.jpg|400px|miniaturadeimagen|izquierda|Teorema Kutta-Joukowski]]&lt;br /&gt;
[[Archivo:dalembert4a.jpg|400px|miniaturadeimagen|centro|Paradoja de D'Alembert]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
:Adjuntamos los cálculos donde quedan recogidas las ideas anteriormente expuestas.&lt;br /&gt;
[[Archivo:9.jpg|600px|miniaturadeimagen|centro]]&lt;br /&gt;
&lt;br /&gt;
:Dado que la fuera es proporcional a la circulación, basta con calcular esta última. La circulación se obtiene con una sencilla integral de línea en todo el recinto (el cual es cerrado, dado que es una circunferencia) y como se observa, resulta nula.&lt;br /&gt;
[[Archivo:Integral.jpg|800px|miniaturadeimagen|centro]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 9: AMPLIACIÓN DEL ANÁLISIS ==&lt;br /&gt;
=== Planteamiento ===&lt;br /&gt;
:Con el fin de ahondar en el estudio del fluido, procedemos a repetir ciertas partes del análisis anterior variando la expresión de la función potencial (&amp;lt;math&amp;gt;\varphi(\rho,\theta)=(\rho+1/\rho)\cos \theta +\theta / (4\pi)&amp;lt;/math&amp;gt;), y obteniendo así un escenario alternativo.&lt;br /&gt;
=== Desarrollo matemático ===&lt;br /&gt;
:Denominaremos al nuevo vector velocidad como s (&amp;lt;math&amp;gt;\vec s&amp;lt;/math&amp;gt;), siendo éste el gradiente de la nueva función dada:&lt;br /&gt;
[[Archivo:Alternativa4A.jpg|700px|miniaturadeimagen|centro|Gradiente de la función potencial]]&lt;br /&gt;
:Continuando con la rutina ejercida con el anterior fluido, procederemos al cálculo del rotacional y de la divergencia para observar si el fluido gira, y si cumple la relación de incompresibilidad anteriormente descrita.&lt;br /&gt;
[[Archivo:NUEVOROT.jpg|600px|miniaturadeimagen|centro|Rotacional nulo, campo conservativo denominado Irrotacional]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:NUEVADIV.jpg|600px|miniaturadeimagen|centro|Divergencia nula]]&lt;br /&gt;
&lt;br /&gt;
:Una vez comprobado que la divergencia es nula llevamos a cabo la búsqueda de la función de corriente psi (&amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;) para este nuevo fluido.&lt;br /&gt;
:Para ello buscaremos el vector ortogonal a s (&amp;lt;math&amp;gt;\vec s&amp;lt;/math&amp;gt;) que llamaremos v (&amp;lt;math&amp;gt;\vec v&amp;lt;/math&amp;gt;) (cuya definición está descrita en la fase correspondiente del anterior fluido)&lt;br /&gt;
[[Archivo:NUEVO V.jpg|750px|miniaturadeimagen|centro|Vector v]]&lt;br /&gt;
:Este vector pertenece a la función psi (&amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt;), siendo sus componentes &amp;quot;covas&amp;quot; las derivadas parciales de ésta.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:NUEVASDER.jpg|400px|miniaturadeimagen|centro|Las covas de v son las derivadas parciales de psi]]&lt;br /&gt;
:Una vez identificadas éstas procedemos a la obtención de la función con el procedimiento seguido en el caso anterior.&lt;br /&gt;
[[Archivo:NUEVA PSI.jpg|300px|miniaturadeimagen|centro|psi ]]&lt;br /&gt;
:Para comprobar si D'Alembert estaba en lo cierto, procederemos a la comprobación con este segundo fluido, ya que con el primero se afirmaba su paradoja (siendo posible en matemáticas pero imposible físicamente).&lt;br /&gt;
[[Archivo:NUEVACORREINT.JPG|750px|miniaturadeimagen|centro|Integral no nula]]&lt;br /&gt;
:Al obtener un resultado distinto de cero comprobamos que la paradoja no es tal, puesto que nuestro fluido ejerce una fuerza en contra de la superficie S (obstáculo) pudiendo realizar cambios en éste (lo desplaza).&lt;br /&gt;
&lt;br /&gt;
=== Proceso de MATLAB ===&lt;br /&gt;
[[Archivo:Apartado92.jpg|600px|miniaturadeimagen|centro|Fase 2 del análisis]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Corrientealternativa4Aproced.png|650px|miniaturadeimagen|centro|Fase 4 del análisis]]&lt;br /&gt;
&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Adjuntamos los gráficos donde quedan recogidas las ideas anteriormente expuestas.&lt;br /&gt;
[[Archivo:Velocidadalternativa4Afigura.png|400px|miniaturadeimagen|centro|Campo de velocidades alternativo]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Corrientealternativa4Afigura.png|400px|miniaturadeimagen|centro|Lineas de corriente de la velocidad alternativas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Cuyas ampliaciones para mejor observación son:&lt;br /&gt;
[[Archivo:Apar92ampliado.jpg|500px|miniaturadeimagen|centro|Campo de velocidades alternativo con zoom=2]]&lt;br /&gt;
[[Archivo:Apar94ampliado.jpg|500px|miniaturadeimagen|centro|Lineas de corriente de la velocidad alternativas con zoom=2]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FASE 10: ESQUEMA VISUAL DEL TRABAJO ==&lt;br /&gt;
=== Representación gráfica ===&lt;br /&gt;
:Adjuntamos los gráficos anteriormente expuestos con el fin de llevar a cabo una breve recapitulación de todo el análisis realizado.&lt;br /&gt;
[[Archivo:Region4Afigura.png|250px|miniaturadeimagen|izquierda|Región]]&lt;br /&gt;
[[Archivo:Velocidad4Afigura.png|250px|miniaturadeimagen|centro|Campo vectorial de velocidades]]&lt;br /&gt;
[[Archivo:Corriente4Afigura.png|250px|miniaturadeimagen|izquierda|Líneas de corriente de la velocidad]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Velmaxmin4Afigura.png|250px|miniaturadeimagen|centro|Velocidad máxima, mínima y puntos de remanso]]&lt;br /&gt;
[[Archivo:Pres4Afigura.png|250px|miniaturadeimagen|izquierda|Presión del fluido]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Pres3D4Afigura.png|250px|miniaturadeimagen|centro|Presión del fluido en 3D]]&lt;br /&gt;
[[Archivo:Presion4Afigura.png|250px|miniaturadeimagen|izquierda|Comparación de presión del fluido y campo de velocidades]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Trayectoria4Afigura.png|250px|miniaturadeimagen|centro|Trayectoria de la partícula]]&lt;br /&gt;
[[Archivo:Velocidadalternativa4Afigura.png|250px|miniaturadeimagen|izquierda|Campo de velocidades alternativo]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Archivo:Corrientealternativa4Afigura.png|250px|miniaturadeimagen|centro|Líneas de corriente de la velocidad alternativas]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Podemos ver en el siguiente enlace un documento PDF que nos muestra algunas aplicaciones prácticas de nuestro estudio, como por ejemplo [//www.ultraligero.net/Cursos/varios/por_que_vuela_un_avion.pdf ¿por qué vuela un avión?].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Teoría de Campos]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>Amlopez</name></author>	</entry>

	</feed>