<?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=AlbertoRF</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=AlbertoRF"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/AlbertoRF"/>
		<updated>2026-04-28T23:22:08Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29244</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29244"/>
				<updated>2015-03-12T19:48:09Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Situaciones posibles */  Ordenadas imágenes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
El '''Problema de Valor Inicial''' (P.V.I.) de '''Logística con Umbral''' viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\).&lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2y-b_2y^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|600px|image|centre|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|600px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|600px|image|centre|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|600px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|600px|image|centre|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|600px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|600px|image|centre|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|600px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|600px|image|centre|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|600px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|600px|image|centre|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|600px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3B.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29132</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29132"/>
				<updated>2015-03-10T01:04:23Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Comensalismo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
El '''Problema de Valor Inicial''' (P.V.I.) de '''Logística con Umbral''' viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\).&lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2y-b_2y^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]] \&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3B.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP3.png&amp;diff=29131</id>
		<title>Archivo:COMP3.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP3.png&amp;diff=29131"/>
				<updated>2015-03-10T01:03:30Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;INCORRECTO - Comparativa de especies según el caso 3&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29130</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29130"/>
				<updated>2015-03-10T00:58:17Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Simbiosis o cooperación */ Corregida imagen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
El '''Problema de Valor Inicial''' (P.V.I.) de '''Logística con Umbral''' viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\).&lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2y-b_2y^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3B.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP3B.png&amp;diff=29129</id>
		<title>Archivo:COMP3B.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP3B.png&amp;diff=29129"/>
				<updated>2015-03-10T00:57:33Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 3&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29125</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29125"/>
				<updated>2015-03-08T21:45:58Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Modelos de competencia */ Corregidas variables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
El '''Problema de Valor Inicial''' (P.V.I.) de '''Logística con Umbral''' viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\).&lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2y-b_2y^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29124</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29124"/>
				<updated>2015-03-08T21:44:28Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Introducción */ Negritas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
El '''Problema de Valor Inicial''' (P.V.I.) de '''Logística con Umbral''' viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\).&lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2x-b_2x^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29123</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29123"/>
				<updated>2015-03-08T21:44:02Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Introducción */ Frase corregida&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
El Problema de Valor Inicial (P.V.I.) de Logística con Umbral viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\).&lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2x-b_2x^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29122</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29122"/>
				<updated>2015-03-08T21:26:02Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Resolución numérica */ Negrita&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el '''caso 1''' con un paso de \(h=1\), el '''caso 2''' con \(h=0.1\) y el '''caso 3''' con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2x-b_2x^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29121</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29121"/>
				<updated>2015-03-08T21:16:33Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Texto arreglado&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}),\ \ \ \ \ t&amp;gt;0&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La resolución numérica a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar la solución de dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, el caso 1 con un paso de \(h=1\), el caso 2 con \(h=0.1\) y el caso 3 con \(h=0.01\) y, finalmente, obtener las gráficas asociadas.&lt;br /&gt;
&lt;br /&gt;
===Euler===&lt;br /&gt;
&lt;br /&gt;
En primer lugar, se indica el método de Euler, con el código de MATLAB correspondiente y dos gráficas, una con todo el desarrollo en el intervalo y otra en la que se aprecia en detalle la exactitud de cada uno de los pasos, comparados entre sí.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
&lt;br /&gt;
Posteriormente, se introduce el método de Heun, con el que se adjunta el código de MATLAB y las gráficas con los 3 casos correspondientes.&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
&lt;br /&gt;
Por último, se representa el método de Runge-Kutta de orden 4 mediante otras dos gráficas con el mismo procedimiento y el código de MATLAB correspondiente.&lt;br /&gt;
&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de Runge-Kutta]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de Runge-Kutta en detalle]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de h=1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de h=0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de h=0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas&lt;br /&gt;
plot(t1,y1,'r') %Caso 1&lt;br /&gt;
plot(t2,y2,'g') %Caso 2&lt;br /&gt;
plot(t3,y3,'b') %Caso 3&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso demasiado amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión, y ésta se estabiliza en un determinado valor.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
De nuevo, se procede a resolver numéricamente la ecuación inicial aportada en el enunciado. Esta vez, las poblaciones iniciales de cada especie son \(y_0=120\) e \(y_0=20\). El resto de constantes se mantienen como anteriormente.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
%Datos Iniciales&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial y0=120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial z0=20&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun comparativo]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
Según lo que se puede apreciar en la gráfica, las poblaciones siempre tenderán a disminuir hasta estabilizarse en un valor determinado. Sin embargo, existen ciertas diferencias entre ambas que hacen que se comporten de maneras diferentes. Por un lado, en la población correspondiente a una población inicial de \(y_0=120\) individuos, la estabilización hacia el mencionado valor determinado (en este caso, \(y=100\)) se produce con una rapidez mayor a la de la población inicial de \(20\) individuos, necesitando mucho menos tiempo. Por otra parte, mientras que la población mayor se mantiene en un valor ligeramente inferior al inicial, la población menor tiende a extinguirse llegando a no tener ningún individuo pasado un tiempo.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&lt;br /&gt;
De ahora en adelante, se tendrá en cuenta que hay dos especies diferentes que ocupan un mismo ecosistema como competidores en el uso de los mismos recursos. Se ha designado \(x(t)\) e \(y(t)\) como la cantidad de individuos de cada especie cuando ha pasado un tiempo \(t\). &lt;br /&gt;
&lt;br /&gt;
La razón de crecimiento de cada especie disminuye proporcionalmente a la cantidad de interacciones entre las especies, con tasas que determinan que cada población crece de forma logística (población acotada). Este proceso se ve sintetizado mediante un modelo no lineal, conocido como '''modelo de competencia''', que responde al siguiente sistema de ecuaciones::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy,\\y’=a_2x-b_2x^2-c_2xy\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Donde los coeficientes \(a_1\) y \(a_2\) determinan la razón de crecimiento de cada especie, \(b_1\) y \(b_2\) acotan dicho crecimiento y, en último lugar, \(c_1\) y \(c_2\) responden al tipo de interacción o situación que existe entre las dos especies.&lt;br /&gt;
&lt;br /&gt;
A continuación, se detallan los códigos de MATLAB empleados para representar el comportamiento de las especies en cada una de las situaciones. En las imágenes adjuntas, se pueden apreciar las representaciones correspondientes al uso del método de Heun y de Euler, para la primera parte, con una frecuencia de paso de \(h=0.1\) (que evita sobrecargas en el proceso de cálculo sin ser mucho más preciso \(h=0.001\)). En la parte comparativa, sólo se adjunta la gráfica del método de Heun (por ser más preciso que el de Euler).&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
%x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
%y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
En función de los valores de \(c_1\) y \(c_2\), se pueden presentar diferentes situaciones dentro del mencionado modelo de competencia.&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=−0.3\), \(a_2=1.15\), \(b_1=0\), \(b_2=0\), \(c_1=−0.08\), \(c_2=0.09\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,15]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) es positivo (lo cual disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|560px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede ver que los coeficientes no se corresponden con la realidad puesto que el animal 1 renace, pero se trataría de parasitismo. El mayor inconveniente del método de Euler es que es menos aproximado que cualquiera de los otros métodos. Existe un máximo de \(y=50.773\) del animal 1 en \(t=3.1\) y un máximo de \(y=28.612\) del animal 2 en \(t=2\). El crecimiento del animal 1 se ve ''afectado positivamente'' por el crecimiento del animal 2, a la vez que el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1. Se trata de un ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 tiende a hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,40]\). Es decir, \(c_1\) es 0 (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) también (ídem).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN22.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Puesto que \(c_1\) y \(c_2\) son \(0\), no existen interacciones entre ambas poblaciones. Se trata, pues de neutralismo, porque se elimina el término que relaciona las dos especies, el que provoca que ambas interactúen (quedando ecuaciones diferenciales de primer grado independientes). No existen máximos y mínimos, salvo en los extremos del intervalo de estudio (teorema de Weierstraß). No tiende a desaparecer ninguna especie, mientras que sí que tienden a ser estables, por tanto se puede afirmar que el crecimiento de cada una de ellas no afecta a la otra. El ecosistema es estable ya que las dos especies tienden a un número determinado.&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=0.16\), \(a_2=0.25\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=−0.015\), \(c_2=-0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es negativo (aumentando la población del animal 1) y \(c_2\) también (es decir, también aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN23.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se puede afirmar que se trata de una simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado. Hay un mínimo de \(y=3.366\) del animal 2 en \(t=9\). Además, no tiende a desaparecer ninguna especie. Se ''afectan positivamente'' porque los coeficientes son negativos. Además, en la gráfica se ve que las dos especies crecen al final del intervalo, es decir, si se estableciera un intervalo mayor, se vería que las gráficas tienden a un determinado valor. Se confirma que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0.015\), \(c_2=0.02\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,20]\). Es decir, \(c_1\) es positivo (haciendo disminuir la población del animal 1) y \(c_2\) también (dicho de otra manera, también disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN24.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Es el modelo que corresponde a una competición, pues se ha visto que en una gráfica en la que no hay interacción, ambas poblaciones crecían más que en la gráfica correspondiente a la competición. Gráficamente, tomando solo como referencia la gráfica de competición, tiene aspecto de amensalismo, ya que el animal 1 perjudica el crecimiento del animal 2 sin verse afectado. El animal 2 tiene un máximo de \(t=8.576\) en \(t=1.9\). Las especies se afectan negativamente entre sí, pero tienden a estabilizarse entorno a un número, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es positivo (esto es, disminuye la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
&lt;br /&gt;
[[Image:HEUN25.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata del caso de amensalismo, puesto que el animal 1 crece sin verse afectado por el animal 2, mientras que el animal 2 se ve afectado negativamente (llegando a extinguirse) por el animal 1, que tiende a estabilizarse en \(y=25\). No obstante, se trata de un ecosistema estable (aunque una de las poblaciones converja en \(0\)).&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, los datos son los siguientes \(a_1=1\), \(a_2=1\), \(b_1=0.04\), \(b_2=0.1\), \(c_1=0\), \(c_2=-0.2\), \(x(0)=2\), \(y(0)=7\) y \(t∈[0,10]\). Es decir, \(c_1\) es \(0\) (la población del animal 1 ni aumenta ni disminuye) y \(c_2\) es negativo (es decir, aumenta la población del animal 2).&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|560px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
Se trata de una situación de comensalismo, debido a que el crecimiento del animal 1 no se ve afectado, mientras que el animal 2 se beneficia a costa de la otra especie, sin perjudicarlo ni beneficiarlo. Ambas especies tienden a estabilizarse, por lo que se trata de un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Ahora, se procede a realizar el estudio comparativo del comportamiento de ambas poblaciones según las situaciones anteriormente expuestas. Para ello, se hace uso del siguiente código de MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
En el momento en que el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a costa de aquél, por lo que se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
Aunque pueda parecer un amensalismo (una especie aumenta mientras que la otra desciende), se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Se trata de una simbiosis, ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
A primera vista, podría confundirse con una situación de parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie animal 2, el animal 1 (supuesto parásito) tendería a disminuir también su población al quedarse sin huésped. De ahí, deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Es decir, se tratar de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
En este caso, se puede apreciar que se trata de un amensalismo, ya que la especie animal 2 se ve reducida a medida que aumenta el número de individuos de la especie animal 1. A modo de observación, en la gráfica se ve que cuantos más individuos de la especie animal 1 hay, más rápido decrece la población del animal 2 y, además, cuantos menos individuos hay de la especie animal 2, más despacio decrece ésta.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Se puede ver que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29112</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29112"/>
				<updated>2015-03-07T13:41:26Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Corregidos índices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
Según lo que se aprecia en la gráfica, las poblaciones siempre disminiuyen hasta establizarse en un valor determinado. &lt;br /&gt;
En la primera de las poblaciones, la cual es mayor (en este caso, 120 individuos), ésta se estabiliza con una mayor rapidez de la que lo hace en el segundo caso, con una población de 20, donde tiende a extinguirse hasta llegar a 0.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
Los coeficientes no se corresponden con la realidad porque el animal 1 renace pero de 0 a 15 sería un parasitismo.&lt;br /&gt;
El problema de Euler es que es menos aproximado que cualquiera de los otros métodos.&lt;br /&gt;
Hay un máximo de 50.773 animal 1 en 3.1.&lt;br /&gt;
Hay un máximo de 28.612 animal 2 en 2.&lt;br /&gt;
No sólo desaparece sino que renace y todo.&lt;br /&gt;
El crecimiento del animal 1 se ve afectado positivamente por el crecimiento del animal 2 pero el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1&lt;br /&gt;
Ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 va por el mismo camino.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
c1 y c2 son 0 por lo que no hay interacciones entre ellas. Neutralismo porque se elimina el término que relaciona las dos especies.&lt;br /&gt;
No existen máximos y mínimos salvo en los extremos del intervalo de estudio (teorema de Weierstrass).&lt;br /&gt;
No tiende a desaparecer ninguna especie. Tienden a ser estables las dos especies.&lt;br /&gt;
Al tener parámetros c igual a 0 las especies no interactúan entre ellas quedando ecuaciones diferenciales de primer grado independientes. Así que el crecimiento de cada una de ellas no afecta sobre la otra.&lt;br /&gt;
El ecosistema es estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN22.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado.&lt;br /&gt;
Hay un mínimo de 3.366 animal 2 en 9.&lt;br /&gt;
No tiende a desaparecer ninguna especie.&lt;br /&gt;
En nuestro intervalo de estudio aparece un crecimiento, si se establece un intervalo mayor, se ve que las gráficas tienden a un número.&lt;br /&gt;
Se afectan positivamente porque los coeficientes son negativos y además en la gráfica se ve que las dos especies crecen al final del intervalo.&lt;br /&gt;
Es un ecosistema estable porque tienden ambas a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN23.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
Es una competición ya que hemos comparado con una gráfica suponiendo que no hay interacción y viendo que ambos crecían más que en la gráfica pedida. Pero gráficamente con solo la referencia de la gráfica pedida parece un amensalismo ya que el animal 1 perjudica el crecimiento del animal 2 sin verse el 1 afectado.&lt;br /&gt;
El animal 2 tiene un máximo de 8.576 en 1.9.&lt;br /&gt;
Tienden a estabilizarse las dos especies.&lt;br /&gt;
Se afectan negativamente entre sí.&lt;br /&gt;
Es un ecosistema estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN24.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un amensalismo ya que el animal 1 crece sin verse afectado por el animal 2 mientras que el animal 2 muere estrepitosa y vergonzosamente entre terribles dolores y sufrimientos.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
En animal 2 desaparece mientras que el animal 1 tiende a estabilizarse en 25.&lt;br /&gt;
Al animal 1 no le afecta (c_1=0) mientras que al animal 2 le afecta negativamente extinguiéndose.&lt;br /&gt;
Es un sistema estable ya que ambos animales tienden a un número (aunque uno de esos números sea 0.&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN25.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un comensalismo debido a que el crecimiento del animal 1 no se ve afectado mientras que el animal 2 se ve beneficiado a costa del primero pero sin perjudicarlo ni beneficiarlo.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
Tienden a estabilizarse ambas especies.&lt;br /&gt;
En el animal 1 no afecta ya que el parámetro es 0 quedando una ecuación diferencial de primer grado independiente, el animal 2 se ve beneficiado por el crecimiento del animal 1.&lt;br /&gt;
Es un ecosistema estable ya que ambos animales tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Hacemos uso del siguiente código de MATLAB:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
En cuanto el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a su costa, se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
Aunque pudiera parecer un amensalismo ya que cuando una especie aumenta mientras que la otra desciende, se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
Se trata de una simbiosis ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Competición====&lt;br /&gt;
A primera vista se podría sospechar que se trata de un parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie 2, el animal 1 (supuesto parásito) debería tender a disminuir también su población al quedarse sin huésped. De ahí deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Podría tratarse de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece, aunque no se ha llegado a un consenso claro en esta interpretación.&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
En este caso se puede apreciar un amensalismo, ya que la especie 2 se ve reducida a medida que aumenta el número de individuos de la especie 1. Como observación, en la gráfica se ve que cuantos más animales 1 hay, más rápido decrece la población del animal 2, y además, cuantos menos individuos hay de la especie 2, más despacio decrece ésta.&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
Vemos que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&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>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29111</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=29111"/>
				<updated>2015-03-07T13:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Añadidos índices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
Según lo que se aprecia en la gráfica, las poblaciones siempre disminiuyen hasta establizarse en un valor determinado. &lt;br /&gt;
En la primera de las poblaciones, la cual es mayor (en este caso, 120 individuos), ésta se estabiliza con una mayor rapidez de la que lo hace en el segundo caso, con una población de 20, donde tiende a extinguirse hasta llegar a 0.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
Los coeficientes no se corresponden con la realidad porque el animal 1 renace pero de 0 a 15 sería un parasitismo.&lt;br /&gt;
El problema de Euler es que es menos aproximado que cualquiera de los otros métodos.&lt;br /&gt;
Hay un máximo de 50.773 animal 1 en 3.1.&lt;br /&gt;
Hay un máximo de 28.612 animal 2 en 2.&lt;br /&gt;
No sólo desaparece sino que renace y todo.&lt;br /&gt;
El crecimiento del animal 1 se ve afectado positivamente por el crecimiento del animal 2 pero el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1&lt;br /&gt;
Ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 va por el mismo camino.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
c1 y c2 son 0 por lo que no hay interacciones entre ellas. Neutralismo porque se elimina el término que relaciona las dos especies.&lt;br /&gt;
No existen máximos y mínimos salvo en los extremos del intervalo de estudio (teorema de Weierstrass).&lt;br /&gt;
No tiende a desaparecer ninguna especie. Tienden a ser estables las dos especies.&lt;br /&gt;
Al tener parámetros c igual a 0 las especies no interactúan entre ellas quedando ecuaciones diferenciales de primer grado independientes. Así que el crecimiento de cada una de ellas no afecta sobre la otra.&lt;br /&gt;
El ecosistema es estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN22.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado.&lt;br /&gt;
Hay un mínimo de 3.366 animal 2 en 9.&lt;br /&gt;
No tiende a desaparecer ninguna especie.&lt;br /&gt;
En nuestro intervalo de estudio aparece un crecimiento, si se establece un intervalo mayor, se ve que las gráficas tienden a un número.&lt;br /&gt;
Se afectan positivamente porque los coeficientes son negativos y además en la gráfica se ve que las dos especies crecen al final del intervalo.&lt;br /&gt;
Es un ecosistema estable porque tienden ambas a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN23.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
Es una competición ya que hemos comparado con una gráfica suponiendo que no hay interacción y viendo que ambos crecían más que en la gráfica pedida. Pero gráficamente con solo la referencia de la gráfica pedida parece un amensalismo ya que el animal 1 perjudica el crecimiento del animal 2 sin verse el 1 afectado.&lt;br /&gt;
El animal 2 tiene un máximo de 8.576 en 1.9.&lt;br /&gt;
Tienden a estabilizarse las dos especies.&lt;br /&gt;
Se afectan negativamente entre sí.&lt;br /&gt;
Es un ecosistema estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN24.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un amensalismo ya que el animal 1 crece sin verse afectado por el animal 2 mientras que el animal 2 muere estrepitosa y vergonzosamente entre terribles dolores y sufrimientos.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
En animal 2 desaparece mientras que el animal 1 tiende a estabilizarse en 25.&lt;br /&gt;
Al animal 1 no le afecta (c_1=0) mientras que al animal 2 le afecta negativamente extinguiéndose.&lt;br /&gt;
Es un sistema estable ya que ambos animales tienden a un número (aunque uno de esos números sea 0.&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN25.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un comensalismo debido a que el crecimiento del animal 1 no se ve afectado mientras que el animal 2 se ve beneficiado a costa del primero pero sin perjudicarlo ni beneficiarlo.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
Tienden a estabilizarse ambas especies.&lt;br /&gt;
En el animal 1 no afecta ya que el parámetro es 0 quedando una ecuación diferencial de primer grado independiente, el animal 2 se ve beneficiado por el crecimiento del animal 1.&lt;br /&gt;
Es un ecosistema estable ya que ambos animales tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Hacemos uso del siguiente código de MATLAB:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
En cuanto el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a su costa, se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
Aunque pudiera parecer un amensalismo ya que cuando una especie aumenta mientras que la otra desciende, se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
Se trata de una simbiosis ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Competición====&lt;br /&gt;
A primera vista se podría sospechar que se trata de un parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie 2, el animal 1 (supuesto parásito) debería tender a disminuir también su población al quedarse sin huésped. De ahí deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Podría tratarse de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece, aunque no se ha llegado a un consenso claro en esta interpretación.&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
En este caso se puede apreciar un amensalismo, ya que la especie 2 se ve reducida a medida que aumenta el número de individuos de la especie 1. Como observación, en la gráfica se ve que cuantos más animales 1 hay, más rápido decrece la población del animal 2, y además, cuantos menos individuos hay de la especie 2, más despacio decrece ésta.&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
Vemos que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Grado en Ingeniería Civil y Territorial]]&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28893</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28893"/>
				<updated>2015-03-06T19:54:15Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Interpretación */ Apunte&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
Según lo que se aprecia en la gráfica, las poblaciones siempre disminiuyen hasta establizarse en un valor determinado. &lt;br /&gt;
En la primera de las poblaciones, la cual es mayor (en este caso, 120 individuos), ésta se estabiliza con una mayor rapidez de la que lo hace en el segundo caso, con una población de 20, donde tiende a extinguirse hasta llegar a 0.&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
Los coeficientes no se corresponden con la realidad porque el animal 1 renace pero de 0 a 15 sería un parasitismo.&lt;br /&gt;
El problema de Euler es que es menos aproximado que cualquiera de los otros métodos.&lt;br /&gt;
Hay un máximo de 50.773 animal 1 en 3.1.&lt;br /&gt;
Hay un máximo de 28.612 animal 2 en 2.&lt;br /&gt;
No sólo desaparece sino que renace y todo.&lt;br /&gt;
El crecimiento del animal 1 se ve afectado positivamente por el crecimiento del animal 2 pero el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1&lt;br /&gt;
Ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 va por el mismo camino.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
c1 y c2 son 0 por lo que no hay interacciones entre ellas. Neutralismo porque se elimina el término que relaciona las dos especies.&lt;br /&gt;
No existen máximos y mínimos salvo en los extremos del intervalo de estudio (teorema de Weierstrass).&lt;br /&gt;
No tiende a desaparecer ninguna especie. Tienden a ser estables las dos especies.&lt;br /&gt;
Al tener parámetros c igual a 0 las especies no interactúan entre ellas quedando ecuaciones diferenciales de primer grado independientes. Así que el crecimiento de cada una de ellas no afecta sobre la otra.&lt;br /&gt;
El ecosistema es estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN22.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado.&lt;br /&gt;
Hay un mínimo de 3.366 animal 2 en 9.&lt;br /&gt;
No tiende a desaparecer ninguna especie.&lt;br /&gt;
En nuestro intervalo de estudio aparece un crecimiento, si se establece un intervalo mayor, se ve que las gráficas tienden a un número.&lt;br /&gt;
Se afectan positivamente porque los coeficientes son negativos y además en la gráfica se ve que las dos especies crecen al final del intervalo.&lt;br /&gt;
Es un ecosistema estable porque tienden ambas a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN23.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
Es una competición ya que hemos comparado con una gráfica suponiendo que no hay interacción y viendo que ambos crecían más que en la gráfica pedida. Pero gráficamente con solo la referencia de la gráfica pedida parece un amensalismo ya que el animal 1 perjudica el crecimiento del animal 2 sin verse el 1 afectado.&lt;br /&gt;
El animal 2 tiene un máximo de 8.576 en 1.9.&lt;br /&gt;
Tienden a estabilizarse las dos especies.&lt;br /&gt;
Se afectan negativamente entre sí.&lt;br /&gt;
Es un ecosistema estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN24.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un amensalismo ya que el animal 1 crece sin verse afectado por el animal 2 mientras que el animal 2 muere estrepitosa y vergonzosamente entre terribles dolores y sufrimientos.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
En animal 2 desaparece mientras que el animal 1 tiende a estabilizarse en 25.&lt;br /&gt;
Al animal 1 no le afecta (c_1=0) mientras que al animal 2 le afecta negativamente extinguiéndose.&lt;br /&gt;
Es un sistema estable ya que ambos animales tienden a un número (aunque uno de esos números sea 0.&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN25.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un comensalismo debido a que el crecimiento del animal 1 no se ve afectado mientras que el animal 2 se ve beneficiado a costa del primero pero sin perjudicarlo ni beneficiarlo.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
Tienden a estabilizarse ambas especies.&lt;br /&gt;
En el animal 1 no afecta ya que el parámetro es 0 quedando una ecuación diferencial de primer grado independiente, el animal 2 se ve beneficiado por el crecimiento del animal 1.&lt;br /&gt;
Es un ecosistema estable ya que ambos animales tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Hacemos uso del siguiente código de MATLAB:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
En cuanto el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a su costa, se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
Aunque pudiera parecer un amensalismo ya que cuando una especie aumenta mientras que la otra desciende, se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
Se trata de una simbiosis ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Competición====&lt;br /&gt;
A primera vista se podría sospechar que se trata de un parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie 2, el animal 1 (supuesto parásito) debería tender a disminuir también su población al quedarse sin huésped. De ahí deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Podría tratarse de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece, aunque no se ha llegado a un consenso claro en esta interpretación.&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
En este caso se puede apreciar un amensalismo, ya que la especie 2 se ve reducida a medida que aumenta el número de individuos de la especie 1. Como observación, en la gráfica se ve que cuantos más animales 1 hay, más rápido decrece la población del animal 2, y además, cuantos menos individuos hay de la especie 2, más despacio decrece ésta.&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
Vemos que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28846</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28846"/>
				<updated>2015-03-06T19:38:31Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Modelos de competencia */ Gráficas añadidas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%%SISTEMA NO LINEAL POR EL MÉTODO DE EULER&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: ');&lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0; &lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Euler.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  x(i+1)=x(i)+h*(a1*x(i)-b1*(x(i))^2-c1*x(i).*y(i));&lt;br /&gt;
  y(i+1)=y(i)+h*(a2*y(i)-b2*(y(i))^2-c2*x(i).*y(i));&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mínimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmy]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t,y, 'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location' , 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Euler')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Población');&lt;br /&gt;
title('Heun')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Situaciones posibles===&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
&lt;br /&gt;
Los coeficientes no se corresponden con la realidad porque el animal 1 renace pero de 0 a 15 sería un parasitismo.&lt;br /&gt;
El problema de Euler es que es menos aproximado que cualquiera de los otros métodos.&lt;br /&gt;
Hay un máximo de 50.773 animal 1 en 3.1.&lt;br /&gt;
Hay un máximo de 28.612 animal 2 en 2.&lt;br /&gt;
No sólo desaparece sino que renace y todo.&lt;br /&gt;
El crecimiento del animal 1 se ve afectado positivamente por el crecimiento del animal 2 pero el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1&lt;br /&gt;
Ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 va por el mismo camino.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER21.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN21.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
c1 y c2 son 0 por lo que no hay interacciones entre ellas. Neutralismo porque se elimina el término que relaciona las dos especies.&lt;br /&gt;
No existen máximos y mínimos salvo en los extremos del intervalo de estudio (teorema de Weierstrass).&lt;br /&gt;
No tiende a desaparecer ninguna especie. Tienden a ser estables las dos especies.&lt;br /&gt;
Al tener parámetros c igual a 0 las especies no interactúan entre ellas quedando ecuaciones diferenciales de primer grado independientes. Así que el crecimiento de cada una de ellas no afecta sobre la otra.&lt;br /&gt;
El ecosistema es estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER22.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN22.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
&lt;br /&gt;
Simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado.&lt;br /&gt;
Hay un mínimo de 3.366 animal 2 en 9.&lt;br /&gt;
No tiende a desaparecer ninguna especie.&lt;br /&gt;
En nuestro intervalo de estudio aparece un crecimiento, si se establece un intervalo mayor, se ve que las gráficas tienden a un número.&lt;br /&gt;
Se afectan positivamente porque los coeficientes son negativos y además en la gráfica se ve que las dos especies crecen al final del intervalo.&lt;br /&gt;
Es un ecosistema estable porque tienden ambas a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER23.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN23.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
Es una competición ya que hemos comparado con una gráfica suponiendo que no hay interacción y viendo que ambos crecían más que en la gráfica pedida. Pero gráficamente con solo la referencia de la gráfica pedida parece un amensalismo ya que el animal 1 perjudica el crecimiento del animal 2 sin verse el 1 afectado.&lt;br /&gt;
El animal 2 tiene un máximo de 8.576 en 1.9.&lt;br /&gt;
Tienden a estabilizarse las dos especies.&lt;br /&gt;
Se afectan negativamente entre sí.&lt;br /&gt;
Es un ecosistema estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER24.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN24.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un amensalismo ya que el animal 1 crece sin verse afectado por el animal 2 mientras que el animal 2 muere estrepitosa y vergonzosamente entre terribles dolores y sufrimientos.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
En animal 2 desaparece mientras que el animal 1 tiende a estabilizarse en 25.&lt;br /&gt;
Al animal 1 no le afecta (c_1=0) mientras que al animal 2 le afecta negativamente extinguiéndose.&lt;br /&gt;
Es un sistema estable ya que ambos animales tienden a un número (aunque uno de esos números sea 0.&lt;br /&gt;
[[Image:EULER25.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN25.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
Es un comensalismo debido a que el crecimiento del animal 1 no se ve afectado mientras que el animal 2 se ve beneficiado a costa del primero pero sin perjudicarlo ni beneficiarlo.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
Tienden a estabilizarse ambas especies.&lt;br /&gt;
En el animal 1 no afecta ya que el parámetro es 0 quedando una ecuación diferencial de primer grado independiente, el animal 2 se ve beneficiado por el crecimiento del animal 1.&lt;br /&gt;
Es un ecosistema estable ya que ambos animales tienden a un número.&lt;br /&gt;
&lt;br /&gt;
[[Image:EULER26.png|550px|image|left|Método de Euler]]&lt;br /&gt;
[[Image:HEUN26.png|550px|image|right|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
asa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Hacemos uso del siguiente código de MATLAB:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%SISTEMA NO LINEAL POR EL MÉTODO DE HEUN&lt;br /&gt;
% x'=a1*x-b1*x^2-c1*x*y&lt;br /&gt;
% y'=a2*y-b2*y^2-c2*x*y&lt;br /&gt;
clear all; clf&lt;br /&gt;
%Introducción de los coeficientes, instante final y pasos de los diferentes casos.&lt;br /&gt;
a1=input('a1: '); a2=input('a2: '); &lt;br /&gt;
b1=input('b1: '); b2=input('b2: ');&lt;br /&gt;
c1=input('c1: '); c2=input('c2: ');&lt;br /&gt;
h=input('Paso: ');&lt;br /&gt;
tN=input('Limite final: ');&lt;br /&gt;
%Números de subintervalos.&lt;br /&gt;
t0=0;&lt;br /&gt;
N=round((tN-t0)/h);&lt;br /&gt;
t=[t0:h:tN];&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
%Valores iniciales..&lt;br /&gt;
x0=2; y0=7;&lt;br /&gt;
x(1)=x0;&lt;br /&gt;
y(1)=y0;&lt;br /&gt;
%Bucle planteado con el método de Heun.&lt;br /&gt;
for i=1:N&lt;br /&gt;
  k1x=a1*x(i)-b1*x(i)^2-c1*x(i)*y(i);&lt;br /&gt;
  k1y=a2*y(i)-b2*y(i)^2-c2*x(i)*y(i);&lt;br /&gt;
  k2x=a1*(x(i)+k1x*h)-b1*(x(i)+k1x*h)^2-c1*(x(i)+k1x*h)*y(i);&lt;br /&gt;
  k2y=a2*(y(i)+k1y*h)-b2*(y(i)+k1y*h)^2-c2*x(i)*(y(i)+k1y*h);&lt;br /&gt;
  &lt;br /&gt;
  x(i+1)=x(i)+h/2*(k1x+k2x);&lt;br /&gt;
  y(i+1)=y(i)+h/2*(k1y+k2y);&lt;br /&gt;
end&lt;br /&gt;
%Para conocer los valores máximos y mísimos de las funciones.&lt;br /&gt;
[Mx, pMx]=max(x); [My, pMy]=max(y);&lt;br /&gt;
[mx, pmx]=min(x); [mx, pmy]=min(y);&lt;br /&gt;
%Representación de las gráficas de ambas poblaciones.&lt;br /&gt;
&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x)&lt;br /&gt;
plot(t, y,'r')&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Animales');&lt;br /&gt;
legend('Animal 1', 'Animal 2', 'Location', 'best')&lt;br /&gt;
title('Heun')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(x,y,'k')&lt;br /&gt;
xlabel('Animal 1');&lt;br /&gt;
ylabel('Animal 2');&lt;br /&gt;
title('Comparación de especies')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
En cuanto el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a su costa, se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
[[Image:COMP1.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
Aunque pudiera parecer un amensalismo ya que cuando una especie aumenta mientras que la otra desciende, se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
[[Image:COMP2.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Simbiosis o cooperación====&lt;br /&gt;
Se trata de una simbiosis ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
[[Image:COMP3.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Competición====&lt;br /&gt;
A primera vista se podría sospechar que se trata de un parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie 2, el animal 1 (supuesto parásito) debería tender a disminuir también su población al quedarse sin huésped. De ahí deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Podría tratarse de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece, aunque no se ha llegado a un consenso claro en esta interpretación.&lt;br /&gt;
[[Image:COMP4.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
En este caso se puede apreciar un amensalismo, ya que la especie 2 se ve reducida a medida que aumenta el número de individuos de la especie 1. Como observación, en la gráfica se ve que cuantos más animales 1 hay, más rápido decrece la población del animal 2, y además, cuantos menos individuos hay de la especie 2, más despacio decrece ésta.&lt;br /&gt;
[[Image:COMP5.png|1000px|image|centre|Comparativa]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
Vemos que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;br /&gt;
[[Image:COMP6.png|1000px|image|centre|Comparativa]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP6.png&amp;diff=28781</id>
		<title>Archivo:COMP6.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP6.png&amp;diff=28781"/>
				<updated>2015-03-06T19:14:37Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 6&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP5.png&amp;diff=28780</id>
		<title>Archivo:COMP5.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP5.png&amp;diff=28780"/>
				<updated>2015-03-06T19:14:23Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 5&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP4.png&amp;diff=28779</id>
		<title>Archivo:COMP4.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP4.png&amp;diff=28779"/>
				<updated>2015-03-06T19:14:12Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 4&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP3.png&amp;diff=28778</id>
		<title>Archivo:COMP3.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP3.png&amp;diff=28778"/>
				<updated>2015-03-06T19:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 3&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP2.png&amp;diff=28777</id>
		<title>Archivo:COMP2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP2.png&amp;diff=28777"/>
				<updated>2015-03-06T19:13:51Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 2&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP1.png&amp;diff=28775</id>
		<title>Archivo:COMP1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:COMP1.png&amp;diff=28775"/>
				<updated>2015-03-06T19:13:36Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa de especies según el caso 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa de especies según el caso 1&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN26.png&amp;diff=28772</id>
		<title>Archivo:HEUN26.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN26.png&amp;diff=28772"/>
				<updated>2015-03-06T19:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun para el caso 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun para el caso 6&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN25.png&amp;diff=28770</id>
		<title>Archivo:HEUN25.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN25.png&amp;diff=28770"/>
				<updated>2015-03-06T19:12:51Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun para el caso 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun para el caso 5&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN24.png&amp;diff=28769</id>
		<title>Archivo:HEUN24.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN24.png&amp;diff=28769"/>
				<updated>2015-03-06T19:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun para el caso 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun para el caso 4&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN23.png&amp;diff=28768</id>
		<title>Archivo:HEUN23.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN23.png&amp;diff=28768"/>
				<updated>2015-03-06T19:12:02Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun para el caso 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun para el caso 3&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN22.png&amp;diff=28765</id>
		<title>Archivo:HEUN22.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN22.png&amp;diff=28765"/>
				<updated>2015-03-06T19:11:39Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun para el caso 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun para el caso 2&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN21.png&amp;diff=28764</id>
		<title>Archivo:HEUN21.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN21.png&amp;diff=28764"/>
				<updated>2015-03-06T19:11:25Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun para el caso 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun para el caso 1&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER26.png&amp;diff=28763</id>
		<title>Archivo:EULER26.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER26.png&amp;diff=28763"/>
				<updated>2015-03-06T19:10:45Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el caso 6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el caso 6&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER25.png&amp;diff=28762</id>
		<title>Archivo:EULER25.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER25.png&amp;diff=28762"/>
				<updated>2015-03-06T19:10:29Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el caso 5&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el caso 5&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER24.png&amp;diff=28761</id>
		<title>Archivo:EULER24.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER24.png&amp;diff=28761"/>
				<updated>2015-03-06T19:10:19Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el caso 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el caso 4&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER23.png&amp;diff=28759</id>
		<title>Archivo:EULER23.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER23.png&amp;diff=28759"/>
				<updated>2015-03-06T19:10:04Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el caso 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el caso 3&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER22.png&amp;diff=28758</id>
		<title>Archivo:EULER22.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER22.png&amp;diff=28758"/>
				<updated>2015-03-06T19:08:37Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el caso 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el caso 2&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER21.png&amp;diff=28756</id>
		<title>Archivo:EULER21.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER21.png&amp;diff=28756"/>
				<updated>2015-03-06T19:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el caso 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el caso 1&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28745</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28745"/>
				<updated>2015-03-06T19:03:53Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parasitismo===&lt;br /&gt;
&lt;br /&gt;
•	Apartado 2.1: Coeficientes no se corresponden con la realidad porque el animal 1 renace pero de 0 a 15 sería un parasitismo.&lt;br /&gt;
El problema de Euler es que es menos aproximado que cualquiera de los otros métodos.&lt;br /&gt;
Hay un máximo de 50.773 animal 1 en 3.1.&lt;br /&gt;
Hay un máximo de 28.612 animal 2 en 2.&lt;br /&gt;
No sólo desaparece sino que renace y todo.&lt;br /&gt;
El crecimiento del animal 1 se ve afectado positivamente por el crecimiento del animal 2 pero el crecimiento del animal 2 se ve afectado negativamente por el crecimiento del animal 1&lt;br /&gt;
Ecosistema no estable ya que el animal 2 desaparece y se puede apreciar que el animal 1 va por el mismo camino.&lt;br /&gt;
&lt;br /&gt;
===Neutralismo===&lt;br /&gt;
&lt;br /&gt;
Apartado 2.2: c1 y c2 son 0 por lo que no hay interacciones entre ellas. Neutralismo porque se elimina el término que relaciona las dos especies.&lt;br /&gt;
No existen máximos y mínimos salvo en los extremos del intervalo de estudio (teorema de Weierstrass).&lt;br /&gt;
No tiende a desaparecer ninguna especie. Tienden a ser estables las dos especies.&lt;br /&gt;
Al tener parámetros c igual a 0 las especies no interactúan entre ellas quedando ecuaciones diferenciales de primer grado independientes. Así que el crecimiento de cada una de ellas no afecta sobre la otra.&lt;br /&gt;
El ecosistema es estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
===Simbiosis o cooperación===&lt;br /&gt;
&lt;br /&gt;
•	Apartado 2.3: Simbiosis ya que ambas especies empiezan a crecer al final del dominio de tiempo dado.&lt;br /&gt;
Hay un mínimo de 3.366 animal 2 en 9.&lt;br /&gt;
No tiende a desaparecer ninguna especie.&lt;br /&gt;
En nuestro intervalo de estudio aparece un crecimiento, si se establece un intervalo mayor, se ve que las gráficas tienden a un número.&lt;br /&gt;
Se afectan positivamente porque los coeficientes son negativos y además en la gráfica se ve que las dos especies crecen al final del intervalo.&lt;br /&gt;
Es un ecosistema estable porque tienden ambas a un número.&lt;br /&gt;
&lt;br /&gt;
===Competición===&lt;br /&gt;
&lt;br /&gt;
•	Apartado 2.4: Es una competición ya que hemos comparado con una gráfica suponiendo que no hay interacción y viendo que ambos crecían más que en la gráfica pedida. Pero gráficamente con solo la referencia de la gráfica pedida parece un amensalismo ya que el animal 1 perjudica el crecimiento del animal 2 sin verse el 1 afectado.&lt;br /&gt;
El animal 2 tiene un máximo de 8.576 en 1.9.&lt;br /&gt;
Tienden a estabilizarse las dos especies.&lt;br /&gt;
Se afectan negativamente entre sí.&lt;br /&gt;
Es un ecosistema estable ya que las dos especies tienden a un número.&lt;br /&gt;
&lt;br /&gt;
===Amensalismo===&lt;br /&gt;
&lt;br /&gt;
Apartado 2.5: Es un amensalismo ya que el animal 1 crece sin verse afectado por el animal 2 mientras que el animal 2 muere estrepitosa y vergonzosamente entre terribles dolores y sufrimientos.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
En animal 2 desaparece mientras que el animal 1 tiende a estabilizarse en 25.&lt;br /&gt;
Al animal 1 no le afecta (c_1=0) mientras que al animal 2 le afecta negativamente extinguiéndose.&lt;br /&gt;
Es un sistema estable ya que ambos animales tienden a un número (aunque uno de esos números sea 0.&lt;br /&gt;
&lt;br /&gt;
===Comensalismo===&lt;br /&gt;
&lt;br /&gt;
•	Apartado 2.6: Es un comensalismo debido a que el crecimiento del animal 1 no se ve afectado mientras que el animal 2 se ve beneficiado a costa del primero pero sin perjudicarlo ni beneficiarlo.&lt;br /&gt;
Teorema de Weierstrass.&lt;br /&gt;
Tienden a estabilizarse ambas especies.&lt;br /&gt;
En el animal 1 no afecta ya que el parámetro es 0 quedando una ecuación diferencial de primer grado independiente, el animal 2 se ve beneficiado por el crecimiento del animal 1.&lt;br /&gt;
Es un ecosistema estable ya que ambos animales tienden a un número.&lt;br /&gt;
&lt;br /&gt;
===Comparación de especies===&lt;br /&gt;
&lt;br /&gt;
Caso 1:&lt;br /&gt;
En cuanto el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a su costa, se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
Caso 2:&lt;br /&gt;
Aunque pudiera parecer un amensalismo ya que cuando una especie aumenta mientras que la otra desciende, se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
Caso 3:&lt;br /&gt;
Se trata de una simbiosis ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
Caso 4:&lt;br /&gt;
A primera vista se podría sospechar que se trata de un parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie 2, el animal 1 (supuesto parásito) debería tender a disminuir también su población al quedarse sin huésped. De ahí deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Podría tratarse de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece, aunque no se ha llegado a un consenso claro en esta interpretación.&lt;br /&gt;
&lt;br /&gt;
Caso 5:&lt;br /&gt;
En este caso se puede apreciar un amensalismo, ya que la especie 2 se ve reducida a medida que aumenta el número de individuos de la especie 1. Como observación, en la gráfica se ve que cuantos más animales 1 hay, más rápido decrece la población del animal 2, y además, cuantos menos individuos hay de la especie 2, más despacio decrece ésta.&lt;br /&gt;
Caso 6:&lt;br /&gt;
Vemos que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28704</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28704"/>
				<updated>2015-03-06T18:35:25Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Apartado 5 (comparación de especies)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Caso 1:&lt;br /&gt;
En cuanto el animal 2 aumenta su población, el animal 1 comienza a aumentar su población a su costa, se trata de un parasitismo. Cuando el animal 2 está casi extinto, el animal 1 empieza también a desaparecer.&lt;br /&gt;
&lt;br /&gt;
Caso 2:&lt;br /&gt;
Aunque pudiera parecer un amensalismo ya que cuando una especie aumenta mientras que la otra desciende, se trata de un neutralismo ya que ninguna de las dos especies tiende a desaparecer.&lt;br /&gt;
&lt;br /&gt;
Caso 3:&lt;br /&gt;
Se trata de una simbiosis ya que en la parte final de la gráfica ambas especies tienden a crecer.&lt;br /&gt;
&lt;br /&gt;
Caso 4:&lt;br /&gt;
A primera vista se podría sospechar que se trata de un parasitismo. No obstante, si fuera así, al verse reducido el número de individuos de la especie 2, el animal 1 (supuesto parásito) debería tender a disminuir también su población al quedarse sin huésped. De ahí deducimos que no es un caso de parasitismo, porque al verse disminuida la especie 2, la especie 1 no tiende a disminuir su población, sino que ambas se estabilizan. Podría tratarse de un caso de competición, porque el crecimiento de ambas especies llega a un máximo, a partir del cual el animal 1 sigue en tendencia positiva de crecimiento, mientras que el animal 2 decrece, aunque no se ha llegado a un consenso claro en esta interpretación.&lt;br /&gt;
&lt;br /&gt;
Caso 5:&lt;br /&gt;
En este caso se puede apreciar un amensalismo, ya que la especie 2 se ve reducida a medida que aumenta el número de individuos de la especie 1. Como observación, en la gráfica se ve que cuantos más animales 1 hay, más rápido decrece la población del animal 2, y además, cuantos menos individuos hay de la especie 2, más despacio decrece ésta.&lt;br /&gt;
Caso 6:&lt;br /&gt;
Vemos que una de las especies ve incrementada su población en proporción al número de individuos de la segunda especie, mientras ésta no se ve afectada por la primera.&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28141</id>
		<title>Logística con Umbral (15-A)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_Umbral_(15-A)&amp;diff=28141"/>
				<updated>2015-03-06T13:12:45Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Primer borrador&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con Umbral (Grupo 15-A) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | • Javier Colorado Martínez (1278) &amp;lt;br /&amp;gt;  • Álvaro Llera Fernández (501) &amp;lt;br /&amp;gt;   • Francisco Javier Alcaraz de Amuriza (567) &amp;lt;br /&amp;gt;  • Daniel Ballesteros Gálvez (1376) &amp;lt;br /&amp;gt;  • Alberto Rodríguez Fernández (357) &amp;lt;br /&amp;gt;  • Francisco Javier Barral González  (632) }}&lt;br /&gt;
==Introducción==&lt;br /&gt;
Nuestro Problema de Valor Inicial (P.V.I.) viene definido por la siguiente ecuación: &lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}y’=-ry(1-{y\over M_1})(1-{y\over M_2}), t&amp;gt;0\\&amp;lt;br/&amp;gt;\\y=y_0\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
Donde \(M_1=30\), \(M_2=100\), \(r=0.04\) e \(y_0=60\). La ecuación a estudiar está definida en el intervalo \(I=[0,100]\). &lt;br /&gt;
&lt;br /&gt;
==Resolución numérica==&lt;br /&gt;
&lt;br /&gt;
A continuación, se va a proceder a modelizar dicha ecuación mediante los métodos de Euler, Heun y Runge-Kutta de orden 4. El procedimiento por el que se ha optado ha consistido en introducir en MATLAB cada uno de los métodos con los diferentes pasos, a saber, \(h=1\), \(h=0.1\) y \(h=0.01\).&lt;br /&gt;
===Euler===&lt;br /&gt;
[[Image:EULER1.png|500px|image|right|Método de Euler]]&lt;br /&gt;
[[Image:EULERD1.png|500px|image|right|Método de Euler en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE EULER&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  y1(n+1)=y1(n)+h1*(-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%-------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  y2(n+1)=y2(n)+h2*(-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2));&lt;br /&gt;
end&lt;br /&gt;
%------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  y3(n+1)=y3(n)+h3*-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
end&lt;br /&gt;
%-----------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Euler con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Euler','Caso 2 Euler','Caso 3 Euler','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar en las gráficas&lt;br /&gt;
&lt;br /&gt;
===Heun===&lt;br /&gt;
[[Image:HEUN1.png|510px|image|right|Método de Heun]]&lt;br /&gt;
[[Image:HEUNDET1.png|510px|image|right|Método de Heun en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h1)*(1-(y1(n)+k1*h1)/M1)*(1-(y1(n)+k1*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 2: PASO DE 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+k1*h2)*(1-(y2(n)+k1*h2)/M1)*(1-(y2(n)+k1*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%CASO 3: PASO DE 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+k1*h3)*(1-(y3(n)+k1*h3)/M1)*(1-(y3(n)+k1*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%---------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Heun con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 Heun','Caso 2 Heun','Caso 3 Heun','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos apreciar &lt;br /&gt;
&lt;br /&gt;
===Runge-Kutta de orden 4===&lt;br /&gt;
[[Image:RK1.png|520px|image|right|Método de RK]]&lt;br /&gt;
[[Image:RK1D.png|520px|image|right|Método de RK en detalle]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE RUNGE-KUTTA DE ORDEN 4&lt;br /&gt;
hold on&lt;br /&gt;
%Datos conocidos e intervalo de estudio.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; y0=60;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 1: paso de 1&lt;br /&gt;
h1=1;&lt;br /&gt;
N1=(tN-t0)/h1;&lt;br /&gt;
t1=t0:h1:tN;&lt;br /&gt;
y1=zeros(1,N1+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N1&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+1/2*k1*h1)*(1-(y1(n)+1/2*k1*h1)/M1)*(1-(y1(n)+1/2*k1*h1)/M2);&lt;br /&gt;
  k3=-r*(y1(n)+1/2*k2*h1)*(1-(y1(n)+1/2*k2*h1)/M1)*(1-(y1(n)+1/2*k2*h1)/M2);&lt;br /&gt;
  k4=-r*(y1(n)+k3*h1)*(1-(y1(n)+k3*h1)/M1)*(1-(y1(n)+k3*h1)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h1/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 2: paso de 0.1&lt;br /&gt;
h2=0.1;&lt;br /&gt;
N2=(tN-t0)/h2;&lt;br /&gt;
t2=t0:h2:tN;&lt;br /&gt;
y2=zeros(1,N2+1);&lt;br /&gt;
y2(1)=y0;&lt;br /&gt;
for n=1:N2&lt;br /&gt;
  k1=-r*y2(n)*(1-y2(n)/M1)*(1-y2(n)/M2);&lt;br /&gt;
  k2=-r*(y2(n)+1/2*k1*h2)*(1-(y2(n)+1/2*k1*h2)/M1)*(1-(y2(n)+1/2*k1*h2)/M2);&lt;br /&gt;
  k3=-r*(y2(n)+1/2*k2*h2)*(1-(y2(n)+1/2*k2*h2)/M1)*(1-(y2(n)+1/2*k2*h2)/M2);&lt;br /&gt;
  k4=-r*(y2(n)+k3*h2)*(1-(y2(n)+k3*h2)/M1)*(1-(y2(n)+k3*h2)/M2);&lt;br /&gt;
  y2(n+1)=y2(n)+h2/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%CASO 3: paso de 0.01&lt;br /&gt;
h3=0.01;&lt;br /&gt;
N3=(tN-t0)/h3;&lt;br /&gt;
t3=t0:h3:tN;&lt;br /&gt;
y3=zeros(1,N3+1);&lt;br /&gt;
y3(1)=y0;&lt;br /&gt;
for n=1:N3&lt;br /&gt;
  k1=-r*y3(n)*(1-y3(n)/M1)*(1-y3(n)/M2);&lt;br /&gt;
  k2=-r*(y3(n)+1/2*k1*h3)*(1-(y3(n)+1/2*k1*h3)/M1)*(1-(y3(n)+1/2*k1*h3)/M2);&lt;br /&gt;
  k3=-r*(y3(n)+1/2*k2*h3)*(1-(y3(n)+1/2*k2*h3)/M1)*(1-(y3(n)+1/2*k2*h3)/M2);&lt;br /&gt;
  k4=-r*(y3(n)+k3*h3)*(1-(y3(n)+k3*h3)/M1)*(1-(y3(n)+k3*h3)/M2);&lt;br /&gt;
  y3(n+1)=y3(n)+h3/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Representación en gráficas.&lt;br /&gt;
plot(t1,y1,'r') %Caso 1.&lt;br /&gt;
plot(t2,y2,'g') %Caso 2.&lt;br /&gt;
plot(t3,y3,'b') %Caso 3.&lt;br /&gt;
title('Método de Runge-Kutta con todos los casos')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la y')&lt;br /&gt;
legend('Caso 1 RK4','Caso 2 RK4','Caso 3 RK4','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos en la gráfica&lt;br /&gt;
&lt;br /&gt;
===Interpretaciones===&lt;br /&gt;
&lt;br /&gt;
De todas las gráficas representadas anteriormente, se puede apreciar que aquellas que corresponden a un paso de \(h=1\) (el caso 1, considerado como un paso amplio), se alejan de la solución exacta, a diferencia de lo que sucede con pasos menores (casos 2 (\(h=0.1\)) y 3 (\(h=0.01\))). A su vez, la solución más cercana a la exacta es la obtenida mediante el método de Runge-Kutta de orden 4.&lt;br /&gt;
&lt;br /&gt;
===Dinámica de poblaciones===&lt;br /&gt;
Desde un punto de vista de la dinámica de poblaciones, dado que se trata de un método logístico, se puede apreciar que la población no crece indefinidamente, sino que llega a un punto en el que el ecosistema no admite más individuos de la especie en cuestión.&lt;br /&gt;
&lt;br /&gt;
==Método de Heun para diferentes poblaciones iniciales==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%MÉTODO DE HEUN CON DISTINTOS VALORES INICIALES&lt;br /&gt;
clf; clear;&lt;br /&gt;
% Datos Iniciales.&lt;br /&gt;
t0=0; tN=100; r=0.04; M1=30; M2=100; &lt;br /&gt;
y0=120; z0=20; &lt;br /&gt;
%Paso e intervalo de estudio.&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=(tN-t0)/h;&lt;br /&gt;
t=t0:h:tN;&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor inicial 120.&lt;br /&gt;
y1=zeros(1,N+1);&lt;br /&gt;
y1(1)=y0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  k1=-r*y1(n)*(1-y1(n)/M1)*(1-y1(n)/M2);&lt;br /&gt;
  k2=-r*(y1(n)+k1*h)*(1-(y1(n)+k1*h)/M1)*(1-(y1(n)+k1*h)/M2);&lt;br /&gt;
  y1(n+1)=y1(n)+h/2*(k1+k2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Heun con valor incial 20.&lt;br /&gt;
z1=zeros(1,N+1);&lt;br /&gt;
z1(1)=z0;&lt;br /&gt;
for n=1:N&lt;br /&gt;
  K1=-r*z1(n)*(1-z1(n)/M1)*(1-z1(n)/M2);&lt;br /&gt;
  K2=-r*(z1(n)+K1*h)*(1-(z1(n)+K1*h)/M1)*(1-(z1(n)+k1*h)/M2);&lt;br /&gt;
  z1(n+1)=z1(n)+h/2*(K1+K2);&lt;br /&gt;
end&lt;br /&gt;
%--------------------------------------------------------------------------&lt;br /&gt;
%Comparación de gráficas.&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,y1,'r')&lt;br /&gt;
plot(t,z1,'g')&lt;br /&gt;
title('Comparativa del método de Heun')&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Evolución de la población')&lt;br /&gt;
legend('Heun 120','Heun 20','Location','best')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
[[Image:HEUN45.png|520px|image|centre|Método de Heun]]&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modelos de competencia==&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}x’=a_1x-b_1x^2-c_1xy, \\&amp;lt;br/&amp;gt;\\ y’=a_2x-b_2x^2-c_2xy \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN45.png&amp;diff=28091</id>
		<title>Archivo:HEUN45.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN45.png&amp;diff=28091"/>
				<updated>2015-03-06T12:56:36Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Comparativa del método de Heun para diferentes valores iniciales de población&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparativa del método de Heun para diferentes valores iniciales de población&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:RK1D.png&amp;diff=27966</id>
		<title>Archivo:RK1D.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:RK1D.png&amp;diff=27966"/>
				<updated>2015-03-06T12:20:19Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Runge-Kutta de orden 4 en detalle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Runge-Kutta de orden 4 en detalle&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:RK1.png&amp;diff=27961</id>
		<title>Archivo:RK1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:RK1.png&amp;diff=27961"/>
				<updated>2015-03-06T12:19:16Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Runge-Kutta de orden 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Runge-Kutta de orden 4&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUNDET1.png&amp;diff=27940</id>
		<title>Archivo:HEUNDET1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUNDET1.png&amp;diff=27940"/>
				<updated>2015-03-06T12:14:42Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun en detalle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun en detalle&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUND1.png&amp;diff=27938</id>
		<title>Archivo:HEUND1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUND1.png&amp;diff=27938"/>
				<updated>2015-03-06T12:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun en detalle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun en detalle&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN1.png&amp;diff=27934</id>
		<title>Archivo:HEUN1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:HEUN1.png&amp;diff=27934"/>
				<updated>2015-03-06T12:11:22Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Heun&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Heun&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULERD1.png&amp;diff=27928</id>
		<title>Archivo:EULERD1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULERD1.png&amp;diff=27928"/>
				<updated>2015-03-06T12:08:00Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler en detalle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler en detalle&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULERDET1.png&amp;diff=27904</id>
		<title>Archivo:EULERDET1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULERDET1.png&amp;diff=27904"/>
				<updated>2015-03-06T12:02:02Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler en detalle&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler en detalle&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER1.png&amp;diff=27890</id>
		<title>Archivo:EULER1.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:EULER1.png&amp;diff=27890"/>
				<updated>2015-03-06T11:59:31Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Método de Euler para el P.V.I.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Método de Euler para el P.V.I.&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=13145</id>
		<title>Calor Placa Anillo (18B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=13145"/>
				<updated>2014-05-19T20:56:22Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Transformación del problema en disco */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor en una placa en forma de anillo (Grupo 18) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | • Arantxa Abascal Colomar&amp;lt;br /&amp;gt; • Patricia Fernández Aibar&amp;lt;br /&amp;gt; • Paula Lacanal Cuadrado&amp;lt;br /&amp;gt; • David Ortiz Liriano&amp;lt;br /&amp;gt; • Álvaro Pintor Sousa&amp;lt;br /&amp;gt; • Alberto Rodríguez Fernández}}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
[[Image:PlacaAnillo.png|300px|thumb|right|Anillo circular entre los radios \(\rho=1\) y \(\rho=6\)]]&lt;br /&gt;
El problema nos pide considerar una placa plana en forma de anillo o corona circular, comprendida entre los radios \(\rho=1\) y \(\rho=6\), dividida en diferentes franjas circulares (sectores), cuya temperatura varía según la dirección radial.&lt;br /&gt;
&lt;br /&gt;
Disponemos de la función que determina la temperatura inicial de la placa, que abarca distintos valores del radio \(\rho\):&lt;br /&gt;
&lt;br /&gt;
\[ \begin{array}{c} \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} &amp;amp;&amp;amp;&amp;amp;(1) \end{array} \]&lt;br /&gt;
&lt;br /&gt;
Los extremos de la placa están en contacto con objetos que, por diversas razones físicas, hacen que el límite interior de la placa se encuentre a \(0ºC\), mientras que el exterior está, de un modo similar, a \(10ºC\). Estas temperaturas se mantienen constantes con el paso del tiempo, es decir, durante \(t&amp;gt;0\).&lt;br /&gt;
&lt;br /&gt;
Analizando la situación, podemos ver que se trata de un problema que se puede representar mediante la ecuación del calor y su distribución a lo largo del tiempo para los diferentes intervalos representados anteriormente \((1)\).&lt;br /&gt;
&lt;br /&gt;
'''''OBSERVACIÓN''''': Tal como indica el enunciado, se hace preciso trabajar con la ayuda de una parametrización en coordenadas polares por la facilidad práctica que supone. Sin embargo, la temperatura no varía en función de \(\theta\) (siendo \(\theta\) el ángulo girado con respecto al eje de abcisas y centro en el origen de coordenadas), razón por la cual asemejaremos este problema al de una varilla de longitud comprendida entre \(x\in [1,6]\), cuya función de temperatura depende del tiempo y de la distancia \(\rho\) al extremo interior \(\rho=1\).&lt;br /&gt;
&lt;br /&gt;
Considerando \(u(\rho,t)\) como la función que determinará el calor de la placa, las condiciones iniciales y de frontera, serán las siguientes:&lt;br /&gt;
&lt;br /&gt;
*Para \(\rho=1\), tenemos una temperatura constante de \(0ºC\). &lt;br /&gt;
*Para \(\rho=6\), tenemos una temperatura constante de \(10ºC\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Suponemos que la temperatura \(u\) de la placa en forma de anillo depende sólo de la coordenada radial \(\rho\) y del tiempo \(t\) es decir: &lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
u = u(\rho,t)&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
y que satisface la ecuacion del calor:&lt;br /&gt;
\[&lt;br /&gt;
u_t - \Delta u =0&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Resolvemos esta ecuación diferencial mediante el método del trapecio, y los resultados gráficos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio111.png|530px|thumb|left]]  [[Image:Trapecio444.png|530px|thumb|right]]&lt;br /&gt;
[[Image:Trapecio222.png|530px|thumb|left]]  [[Image:Trapecio333.png|530px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El código de Matlab utilizado para la obtención de resultados, es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; &lt;br /&gt;
h=0.1; &lt;br /&gt;
x=a:h:b; %El vector x tiene N+1 elementos &lt;br /&gt;
N=(b-a)/h;&lt;br /&gt;
% matriz K &lt;br /&gt;
K=(1/h^2)*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F y valor inicial &lt;br /&gt;
rho=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=(0.*rho); %término independiente &lt;br /&gt;
%valor inicial &lt;br /&gt;
U=(0.*rho);&lt;br /&gt;
% U=[1,N-2];&lt;br /&gt;
rho=1;&lt;br /&gt;
for i=1:N-1&lt;br /&gt;
    if i&amp;gt;1 &amp;amp; i&amp;lt;=(2-1)/h&lt;br /&gt;
        rho=rho+h;&lt;br /&gt;
        U(1,i)=100*(rho-1);&lt;br /&gt;
elseif i&amp;gt;(2-1)/h &amp;amp; i&amp;lt;=(5-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=100;&lt;br /&gt;
elseif i&amp;gt;(5-1)/h &amp;amp; i&amp;lt;=(6-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=(90*(6-rho)+10);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
% discretización en t &lt;br /&gt;
j=h/4; % paso en t. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
 &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 Z=U+j/2*(-K*U); &lt;br /&gt;
 U=(eye(N-1)+K*j/2)\Z; &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
end &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[Mx,Mt]=meshgrid(x,t); &lt;br /&gt;
mesh(Mx,Mt,sol) ;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En las gráficas se puede observar cómo para tiempo 0, los valores de temperatura para cada radio son los indicados en las condiciones iniciales. A partir de ahí y a medida que va pasando el tiempo el flujo de calor se expande a las zonas de menor temperatura, esto es, de los radios interiores (2 a 5) a los exteriores, de manera que para un tiempo igual a 10 segundos la placa pasa a tener menor temperatura en los radios interiores, llegando a tener todos los radios una misma temperatura. Sin embargo se aprecia que en el extremo del anillo con radio igual a 6 tenemos unas condiciones físicas que hacen que en ese extremo la temperatura valga 10. Esto hace que para tiempo igual a 10 segundo no toda la placa este homogeneizada en temperatura,puesto que en ese extremo la temperatura está obligada a ser 10.&lt;br /&gt;
&lt;br /&gt;
== Representación de la temperatura en el tiempo para \(\rho=3\) ==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar el comportamiento de la temperatura para un radio constante \(\rho=3\) en una gráfica 2-D (eje de abcisas, temperatura y eje de ordenadas, tiempo). Para ello, utilizamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=2; b=5; &lt;br /&gt;
x=a:h:b;&lt;br /&gt;
N=(b-a)/h; &lt;br /&gt;
% Matriz K &lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F &lt;br /&gt;
xx=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=0*xx; &lt;br /&gt;
U=100*ones(size(xx)); %valor inicial para un \rho=3&lt;br /&gt;
% discretización en t &lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
 end &lt;br /&gt;
plot(t,sol(:,11)) %la columna 11 es la correspondiente a \rho=3&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Ejr3.png|500px|thumb|centre|Variación de la temperatura en los \(10\) primeros segundos para \(\rho=3\)]]&lt;br /&gt;
&lt;br /&gt;
Se puede observar que la temperatura inicial (\(t=0\)), es de \(100ºC\), condición impuesta en las condiciones iniciales. Con el paso del tiempo, la tendencia natural de la temperatura a crear un flujo de calor que viaja desde las zonas de temperatura más alta, a las zonas de temperatura más baja, influye en la estabilización y homogeneización de esta a lo largo de la dirección radial del disco. Es decir, que, a medida que pasa el tiempo, el flujo de calor va de las zonas con más temperatura a las de menor, es por eso que en el instante inicial su temperatura es máxima y luego disminuye, porque está transmitiendo calor. Como puede observarse una vez alcanzados los \(10\) primeros segundos la placa en ese radio \(\rho=3\) se estabilizada en \(0ºC\).&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema por diferentes métodos de discretizacion==&lt;br /&gt;
&lt;br /&gt;
=== Euler explicito ===&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema de ecuaciones diferenciales esta vez utilizando el método de Euler explícito, con las mismas condiciones que en el método de las diferencias finitas y del trapecio.&lt;br /&gt;
&lt;br /&gt;
El código MATLAB utilizado es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler explicito &lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
%Valores iniciales&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para conseguir estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:eexplicito.jpg|500px|thumb|centro|Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, la temperatura es máxima entre los radios 2 y 5 en el instante inicial. A partir de ese momento a medida que avanzan los segundos la temperatura desciende debido a la tendencia natural de la placa a estabilizarse, de manera que el calor se transmite desde las zonas de mayor temperatura a las de menor, hasta alcanzar una temperatura homogénea.&lt;br /&gt;
&lt;br /&gt;
===Euler implícito===&lt;br /&gt;
&lt;br /&gt;
Realizamos el mismo ejercicio con el método de Euler implícito utilizando el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler implicito (incondicionalmente estable)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2;  &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U=(eye(N-1)+j*K)\(U+F');&lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eimplicito.jpg|500px|thumb|centro|Euler Implícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este gráfico se observa lo mismo que lo dicho en el gráfico anterior, y por tanto, se obtienen las mismas conclusiones.&lt;br /&gt;
&lt;br /&gt;
===Euler modificado===&lt;br /&gt;
&lt;br /&gt;
Por último, probamos con el método de Euler modificado. Para ello adjuntamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler modificado (euler+trapecio)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(1/(h^2))*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M &lt;br /&gt;
   k1=(K)*U+F';&lt;br /&gt;
   k2=((j/2)+(K))*U+F';&lt;br /&gt;
   U=U-(j/2)*(k1+k2);&lt;br /&gt;
   sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[X,T]=meshgrid(x,t);&lt;br /&gt;
mesh(X,T,sol)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eulermodificado.png|520px|thumb|centro|Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vemos que gráficamente no se aprecian variaciones, siendo prácticamente iguales todas las gráficas.&lt;br /&gt;
La única diferencia es el método utilizado para conseguirlo, es decir, el código MATLAB utilizado; mientras que los métodos de Euler explícito y modificado precisan de un paso temporal pequeño (del orden de &amp;lt;math&amp;gt;h^2/2&amp;lt;/math&amp;gt; , siendo \(h\) el paso de discretización espacial) para ser estables y conseguir una buena aproximación, no es así con el método de Euler implícito, que no necesita un paso de tan pequeño orden y la aproximación conseguida es bastante acertada. Hay que añadir que el inconveniente del uso de un paso pequeño, no es más que para intentar el menor colapso del programa matemático utilizado (MATLAB en este caso), y conseguir el resultado en el menor tiempo posible.&lt;br /&gt;
&lt;br /&gt;
Después de este razonamiento, vemos que el método más óptimo es de Euler implícito.&lt;br /&gt;
&lt;br /&gt;
== Variación de la temperatura para tiempos grandes==&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
La solución numérica de este sistema consiste en dar como solución aproximada una función en serie de Fourier. &lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} U( \rho,t)= U_0( \rho,t) + W( \rho,t) \end{array}\\&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\begin{equation}&lt;br /&gt;
 U( \rho,t)=2x-2+\sum_{i=1}^k{\frac{-230-2.5(-1)^k}{\pi\cdot{k}}}\cdot{e^{-((k\cdot{\pi}^2)\cdot{t}}}\cdot{\sin({k\cdot{\pi}\cdot{x})}} \end{equation}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El programa utilizado para representar la solución se expone a continuación. Utilizaremos k=10 para realizar la aproximacion, ya que conseguimos un error pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; c=0; d=1;&lt;br /&gt;
h=0.1;  N=(b-a)/h;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
M=50;&lt;br /&gt;
k=(d-c)/M;&lt;br /&gt;
t=c:k:d;&lt;br /&gt;
[X,T]=meshgrid(x,t);&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
U0=2*X-2;&lt;br /&gt;
Q=10;&lt;br /&gt;
U=U0;&lt;br /&gt;
for j=1:Q&lt;br /&gt;
 pj=sin(pi*x*k);&lt;br /&gt;
 pj1=sin(pi*xx1*k);&lt;br /&gt;
 pj2=sin(pi*xx2*k);&lt;br /&gt;
 pj3=sin(pi*xx3*k);&lt;br /&gt;
 fourier(j)=(trapz(xx1,U1.*pj1)+trapz(xx2,U2.*pj2)+trapz(xx3,U3.*pj3))/trapz(x,pj.^2);&lt;br /&gt;
 U=U+fourier(j)*(exp(-((pi^2)*j*T))).*(sin(pi*X*j));&lt;br /&gt;
 end&lt;br /&gt;
figure&lt;br /&gt;
mesh(X,T,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Representando la superficie para diferentes tiempos t=0,2 y 10 segundos observamos como la temperatura tiende a estabilizarse a un valor estacionario para cada punto, estableciéndose un incremento de temperatura lineal en el anillo, en la dirección del radio. &lt;br /&gt;
La disminución de la temperatura en el tiempo se plasma dentro de la función  $ U( \rho,t)=2x-2+\sum_{i=1}^k{\frac{-230-2.5(-1)^k}{\pi\cdot{k}}}\cdot{e^{-((k\cdot{\pi}^2)\cdot{t}}}\cdot{\sin({k\cdot{\pi}\cdot{x})}}$ desarrollada en serie de Fourier, en forma de   $e^{-((k\cdot{\pi}^2)\cdot{t}} $&lt;br /&gt;
Es precisamente este operador de la función el que impone un valor estacionario de la temperatura en la placa. Este valor estacionario seguirá la función \(U_0( \rho,t)= 2x - 2\), que es la función que nos permite homogeneizar las condiciones de contorno de nuestro problema inicial. &lt;br /&gt;
De esta forma, para tiempo infinito la temperatura en  \(\rho=1\) será 0ºC y en \(\rho=6\) será 10ºC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_0.png|500px|thumb|centre|Solución para un t=0 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_1.png|500px|thumb|centre|Solución para un t=1 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
Vemos que para t=1 segundo la solución ya coincide prácticamente con al estacionaria. Esto significa que la temperatura de la placa se estabiliza muy rápidamente. En la siguiente gráfica se observa como la variación de la temperatura se estabiliza para tiempos pequeños.&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_12.png |500px|thumb|centre|Solución para un t=1 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
== Variacion de las condiciones de frontera ==&lt;br /&gt;
&lt;br /&gt;
Ahora colocamos en la frontera exterior de la placa (\(\rho=6\)) una pieza aislante (en lugar de un objeto con temperatura constante 10). El aislante hace que no haya pérdida de calor en ese extremo, es decir, el flujo de temperatura en la dirección radial es nulo, no entra ni sale calor en ese extremo de la placa. El valor estacionario de la temperatura de la placa será 0ºC.&lt;br /&gt;
El sistema en este caso es análogo al anterior. La diferencia que se impone es que el flujo de calor en la dirección radial sea nulo en la placa (condición de Neumann).&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \(u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u_\rho(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K(N-1,N-1)=2/3; &lt;br /&gt;
K(N-1,N-2)=-2/3; &lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N)&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1)&lt;br /&gt;
U2 =100*ones(size(xx2)) %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10)&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3]&lt;br /&gt;
sol(1,:)=[0,U,((-U(4)+U(5))/3)]&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',((-U(4)+U(5))/3)]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Image:GRAFICA6.png|500px|thumb|center|Gráfica que describe el comportamiento de la temperatura a lo largo del tiempo según el radio, de acuerdo a las condiciones del enunciado. ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La variacion de la temperatura a lo largo del disco no es uniforme, si no que el extremo\(\rho=6\) tiene una temperatura mayor que \(\rho=1\). Esto es debido a la condicion inicial de colocar un elemento aislante en el extremo. En las graficas expuestas a continuacion se puede ver la temperatura en la placa para diferentes tiempos.&lt;br /&gt;
&lt;br /&gt;
== Transformación del problema en disco ==&lt;br /&gt;
Considerando que la placa ocupa todo el disco \(\rho&amp;lt;6\), aproximaremos las soluciones usando el método de Fourier. De nuevo, la solución dependerá sólo de \(\rho\) y \(t\), y tomaremos ahora como condición frontera \(u(6,t) = 0\).&lt;br /&gt;
\[&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (0,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(0,t)=0 &amp;amp; u(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
[[Image:PlacaDisco.png|300px|thumb|right|Disco circular de radio \(\rho&amp;lt;6\)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problema de autovalores ===&lt;br /&gt;
=== Función de Bessel ===&lt;br /&gt;
&lt;br /&gt;
=== Aproximación de la solución ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=13137</id>
		<title>Calor Placa Anillo (18B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=13137"/>
				<updated>2014-05-19T20:52:44Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor en una placa en forma de anillo (Grupo 18) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | • Arantxa Abascal Colomar&amp;lt;br /&amp;gt; • Patricia Fernández Aibar&amp;lt;br /&amp;gt; • Paula Lacanal Cuadrado&amp;lt;br /&amp;gt; • David Ortiz Liriano&amp;lt;br /&amp;gt; • Álvaro Pintor Sousa&amp;lt;br /&amp;gt; • Alberto Rodríguez Fernández}}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
[[Image:PlacaAnillo.png|300px|thumb|right|Anillo circular entre los radios \(\rho=1\) y \(\rho=6\)]]&lt;br /&gt;
El problema nos pide considerar una placa plana en forma de anillo o corona circular, comprendida entre los radios \(\rho=1\) y \(\rho=6\), dividida en diferentes franjas circulares (sectores), cuya temperatura varía según la dirección radial.&lt;br /&gt;
&lt;br /&gt;
Disponemos de la función que determina la temperatura inicial de la placa, que abarca distintos valores del radio \(\rho\):&lt;br /&gt;
&lt;br /&gt;
\[ \begin{array}{c} \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} &amp;amp;&amp;amp;&amp;amp;(1) \end{array} \]&lt;br /&gt;
&lt;br /&gt;
Los extremos de la placa están en contacto con objetos que, por diversas razones físicas, hacen que el límite interior de la placa se encuentre a \(0ºC\), mientras que el exterior está, de un modo similar, a \(10ºC\). Estas temperaturas se mantienen constantes con el paso del tiempo, es decir, durante \(t&amp;gt;0\).&lt;br /&gt;
&lt;br /&gt;
Analizando la situación, podemos ver que se trata de un problema que se puede representar mediante la ecuación del calor y su distribución a lo largo del tiempo para los diferentes intervalos representados anteriormente \((1)\).&lt;br /&gt;
&lt;br /&gt;
'''''OBSERVACIÓN''''': Tal como indica el enunciado, se hace preciso trabajar con la ayuda de una parametrización en coordenadas polares por la facilidad práctica que supone. Sin embargo, la temperatura no varía en función de \(\theta\) (siendo \(\theta\) el ángulo girado con respecto al eje de abcisas y centro en el origen de coordenadas), razón por la cual asemejaremos este problema al de una varilla de longitud comprendida entre \(x\in [1,6]\), cuya función de temperatura depende del tiempo y de la distancia \(\rho\) al extremo interior \(\rho=1\).&lt;br /&gt;
&lt;br /&gt;
Considerando \(u(\rho,t)\) como la función que determinará el calor de la placa, las condiciones iniciales y de frontera, serán las siguientes:&lt;br /&gt;
&lt;br /&gt;
*Para \(\rho=1\), tenemos una temperatura constante de \(0ºC\). &lt;br /&gt;
*Para \(\rho=6\), tenemos una temperatura constante de \(10ºC\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Suponemos que la temperatura \(u\) de la placa en forma de anillo depende sólo de la coordenada radial \(\rho\) y del tiempo \(t\) es decir: &lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
u = u(\rho,t)&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
y que satisface la ecuacion del calor:&lt;br /&gt;
\[&lt;br /&gt;
u_t - \Delta u =0&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Resolvemos esta ecuación diferencial mediante el método del trapecio, y los resultados gráficos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio111.png|530px|thumb|left]]  [[Image:Trapecio444.png|530px|thumb|right]]&lt;br /&gt;
[[Image:Trapecio222.png|530px|thumb|left]]  [[Image:Trapecio333.png|530px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El código de Matlab utilizado para la obtención de resultados, es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; &lt;br /&gt;
h=0.1; &lt;br /&gt;
x=a:h:b; %El vector x tiene N+1 elementos &lt;br /&gt;
N=(b-a)/h;&lt;br /&gt;
% matriz K &lt;br /&gt;
K=(1/h^2)*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F y valor inicial &lt;br /&gt;
rho=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=(0.*rho); %término independiente &lt;br /&gt;
%valor inicial &lt;br /&gt;
U=(0.*rho);&lt;br /&gt;
% U=[1,N-2];&lt;br /&gt;
rho=1;&lt;br /&gt;
for i=1:N-1&lt;br /&gt;
    if i&amp;gt;1 &amp;amp; i&amp;lt;=(2-1)/h&lt;br /&gt;
        rho=rho+h;&lt;br /&gt;
        U(1,i)=100*(rho-1);&lt;br /&gt;
elseif i&amp;gt;(2-1)/h &amp;amp; i&amp;lt;=(5-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=100;&lt;br /&gt;
elseif i&amp;gt;(5-1)/h &amp;amp; i&amp;lt;=(6-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=(90*(6-rho)+10);&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
% discretización en t &lt;br /&gt;
j=h/4; % paso en t. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
 &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 Z=U+j/2*(-K*U); &lt;br /&gt;
 U=(eye(N-1)+K*j/2)\Z; &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
end &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[Mx,Mt]=meshgrid(x,t); &lt;br /&gt;
mesh(Mx,Mt,sol) ;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En las gráficas se puede observar cómo para tiempo 0, los valores de temperatura para cada radio son los indicados en las condiciones iniciales. A partir de ahí y a medida que va pasando el tiempo el flujo de calor se expande a las zonas de menor temperatura, esto es, de los radios interiores (2 a 5) a los exteriores, de manera que para un tiempo igual a 10 segundos la placa pasa a tener menor temperatura en los radios interiores, llegando a tener todos los radios una misma temperatura. Sin embargo se aprecia que en el extremo del anillo con radio igual a 6 tenemos unas condiciones físicas que hacen que en ese extremo la temperatura valga 10. Esto hace que para tiempo igual a 10 segundo no toda la placa este homogeneizada en temperatura,puesto que en ese extremo la temperatura está obligada a ser 10.&lt;br /&gt;
&lt;br /&gt;
== Representación de la temperatura en el tiempo para \(\rho=3\) ==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar el comportamiento de la temperatura para un radio constante \(\rho=3\) en una gráfica 2-D (eje de abcisas, temperatura y eje de ordenadas, tiempo). Para ello, utilizamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=2; b=5; &lt;br /&gt;
x=a:h:b;&lt;br /&gt;
N=(b-a)/h; &lt;br /&gt;
% Matriz K &lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F &lt;br /&gt;
xx=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=0*xx; &lt;br /&gt;
U=100*ones(size(xx)); %valor inicial para un \rho=3&lt;br /&gt;
% discretización en t &lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
 end &lt;br /&gt;
plot(t,sol(:,11)) %la columna 11 es la correspondiente a \rho=3&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Ejr3.png|500px|thumb|centre|Variación de la temperatura en los \(10\) primeros segundos para \(\rho=3\)]]&lt;br /&gt;
&lt;br /&gt;
Se puede observar que la temperatura inicial (\(t=0\)), es de \(100ºC\), condición impuesta en las condiciones iniciales. Con el paso del tiempo, la tendencia natural de la temperatura a crear un flujo de calor que viaja desde las zonas de temperatura más alta, a las zonas de temperatura más baja, influye en la estabilización y homogeneización de esta a lo largo de la dirección radial del disco. Es decir, que, a medida que pasa el tiempo, el flujo de calor va de las zonas con más temperatura a las de menor, es por eso que en el instante inicial su temperatura es máxima y luego disminuye, porque está transmitiendo calor. Como puede observarse una vez alcanzados los \(10\) primeros segundos la placa en ese radio \(\rho=3\) se estabilizada en \(0ºC\).&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema por diferentes métodos de discretizacion==&lt;br /&gt;
'''''OBSERVACIÓN''''': El método de Euler necesita un paso de tiempo del orden de &amp;lt;math&amp;gt;\frac{h^2}{2}&amp;lt;/math&amp;gt; para ser estable, siendo \(h\) el paso espacial.&lt;br /&gt;
=== Euler explicito ===&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema de ecuaciones diferenciales esta vez utilizando el método de Euler explícito, con las mismas condiciones que en el método de las diferencias finitas y del trapecio.&lt;br /&gt;
&lt;br /&gt;
El código MATLAB utilizado es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler explicito &lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
%Valores iniciales&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para conseguir estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:eexplicito.jpg|500px|thumb|centro|Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, la temperatura es máxima entre los radios 2 y 5 en el instante inicial. A partir de ese momento a medida que avanzan los segundos la temperatura desciende debido a la tendencia natural de la placa a estabilizarse, de manera que el calor se transmite desde las zonas de mayor temperatura a las de menor, hasta alcanzar una temperatura homogénea.&lt;br /&gt;
&lt;br /&gt;
===Euler implícito===&lt;br /&gt;
&lt;br /&gt;
Realizamos el mismo ejercicio con el método de Euler implícito utilizando el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler implicito (incondicionalmente estable)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2;  &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U=(eye(N-1)+j*K)\(U+F');&lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eimplicito.jpg|500px|thumb|centro|Euler Implícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este gráfico se observa lo mismo que lo dicho en el gráfico anterior. La única diferencia es el método utilizado para conseguirlo, es decir en el código MATLAB utilizado. Las conclusiones que se pueden deducir son las mismas que con el método de Euler explícito.&lt;br /&gt;
&lt;br /&gt;
===Euler modificado===&lt;br /&gt;
&lt;br /&gt;
Por último, probamos con el método de Euler modificado. Para ello adjuntamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler modificado (euler+trapecio)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(1/(h^2))*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M &lt;br /&gt;
   k1=(K)*U+F';&lt;br /&gt;
   k2=((j/2)+(K))*U+F';&lt;br /&gt;
   U=U-(j/2)*(k1+k2);&lt;br /&gt;
   sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[X,T]=meshgrid(x,t);&lt;br /&gt;
mesh(X,T,sol)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eulermodificado.png|520px|thumb|centro|Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Variación de la temperatura para tiempos grandes==&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
La solución numérica de este sistema consiste en dar como solución aproximada una función en serie de Fourier. &lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} U( \rho,t)= U_0( \rho,t) + W( \rho,t) \end{array}\\&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\begin{equation}&lt;br /&gt;
 U( \rho,t)=2x-2+\sum_{i=1}^k{\frac{-230-2.5(-1)^k}{\pi\cdot{k}}}\cdot{e^{-((k\cdot{\pi}^2)\cdot{t}}}\cdot{\sin({k\cdot{\pi}\cdot{x})}} \end{equation}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El programa utilizado para representar la solución se expone a continuación. Utilizaremos k=10 para realizar la aproximacion, ya que conseguimos un error pequeño.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; c=0; d=1;&lt;br /&gt;
h=0.1;  N=(b-a)/h;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
M=50;&lt;br /&gt;
k=(d-c)/M;&lt;br /&gt;
t=c:k:d;&lt;br /&gt;
[X,T]=meshgrid(x,t);&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
U0=2*X-2;&lt;br /&gt;
Q=10;&lt;br /&gt;
U=U0;&lt;br /&gt;
for j=1:Q&lt;br /&gt;
 pj=sin(pi*x*k);&lt;br /&gt;
 pj1=sin(pi*xx1*k);&lt;br /&gt;
 pj2=sin(pi*xx2*k);&lt;br /&gt;
 pj3=sin(pi*xx3*k);&lt;br /&gt;
 fourier(j)=(trapz(xx1,U1.*pj1)+trapz(xx2,U2.*pj2)+trapz(xx3,U3.*pj3))/trapz(x,pj.^2);&lt;br /&gt;
 U=U+fourier(j)*(exp(-((pi^2)*j*T))).*(sin(pi*X*j));&lt;br /&gt;
 end&lt;br /&gt;
figure&lt;br /&gt;
mesh(X,T,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Representando la superficie para diferentes tiempos t=0,2 y 10 segundos observamos como la temperatura tiende a estabilizarse a un valor estacionario para cada punto, estableciéndose un incremento de temperatura lineal en el anillo, en la dirección del radio. &lt;br /&gt;
La disminución de la temperatura en el tiempo se plasma dentro de la función  $ U( \rho,t)=2x-2+\sum_{i=1}^k{\frac{-230-2.5(-1)^k}{\pi\cdot{k}}}\cdot{e^{-((k\cdot{\pi}^2)\cdot{t}}}\cdot{\sin({k\cdot{\pi}\cdot{x})}}$ desarrollada en serie de Fourier, en forma de   $e^{-((k\cdot{\pi}^2)\cdot{t}} $&lt;br /&gt;
Es precisamente este operador de la función el que impone un valor estacionario de la temperatura en la placa. Este valor estacionario seguirá la función \(U_0( \rho,t)= 2x - 2\), que es la función que nos permite homogeneizar las condiciones de contorno de nuestro problema inicial. &lt;br /&gt;
De esta forma, para tiempo infinito la temperatura en  \(\rho=1\) será 0ºC y en \(\rho=6\) será 10ºC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_0.png|500px|thumb|centre|Solución para un t=0 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_1.png|500px|thumb|centre|Solución para un t=1 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
Vemos que para t=1 segundo la solución ya coincide prácticamente con al estacionaria. Esto significa que la temperatura de la placa se estabiliza muy rápidamente. En la siguiente gráfica se observa como la variación de la temperatura se estabiliza para tiempos pequeños.&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_12.png |500px|thumb|centre|Solución para un t=1 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
== Variacion de las condiciones de frontera ==&lt;br /&gt;
&lt;br /&gt;
Ahora colocamos en la frontera exterior de la placa (\(\rho=6\)) una pieza aislante (en lugar de un objeto con temperatura constante 10). El aislante hace que no haya pérdida de calor en ese extremo, es decir, el flujo de temperatura en la dirección radial es nulo, no entra ni sale calor en ese extremo de la placa. El valor estacionario de la temperatura de la placa será 0ºC.&lt;br /&gt;
El sistema en este caso es análogo al anterior. La diferencia que se impone es que el flujo de calor en la dirección radial sea nulo en la placa (condición de Neumann).&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \(u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u_\rho(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K(N-1,N-1)=2/3; &lt;br /&gt;
K(N-1,N-2)=-2/3; &lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N)&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1)&lt;br /&gt;
U2 =100*ones(size(xx2)) %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10)&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3]&lt;br /&gt;
sol(1,:)=[0,U,((-U(4)+U(5))/3)]&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',((-U(4)+U(5))/3)]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Image:GRAFICA6.png|500px|thumb|center|Gráfica que describe el comportamiento de la temperatura a lo largo del tiempo según el radio, de acuerdo a las condiciones del enunciado. ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La variacion de la temperatura a lo largo del disco no es uniforme, si no que el extremo\(\rho=6\) tiene una temperatura mayor que \(\rho=1\). Esto es debido a la condicion inicial de colocar un elemento aislante en el extremo. En las graficas expuestas a continuacion se puede ver la temperatura en la placa para diferentes tiempos.&lt;br /&gt;
&lt;br /&gt;
== Transformación del problema en disco ==&lt;br /&gt;
[[Image:PlacaDisco.png|300px|thumb|right|Disco circular de radio \(\rho&amp;lt;6\)]]&lt;br /&gt;
Considerando que la placa ocupa todo el disco \(\rho&amp;lt;6\), aproximaremos las soluciones usando el método de Fourier. De nuevo, la solución dependerá sólo de \(\rho\) y \(t\), y tomaremos ahora como condición frontera \(u(6,t) = 0\).&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (0,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(0,t)=0 &amp;amp; u(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problema de autovalores ===&lt;br /&gt;
=== Función de Bessel ===&lt;br /&gt;
&lt;br /&gt;
=== Aproximación de la solución ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=13014</id>
		<title>Calor Placa Anillo (18B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=13014"/>
				<updated>2014-05-19T19:43:27Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Variación de la temperatura para tiempos grandes */ Editada ecuación&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor en una placa en forma de anillo (Grupo 18) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | • Arantxa Abascal Colomar&amp;lt;br /&amp;gt; • Patricia Fernández Aibar&amp;lt;br /&amp;gt; • Paula Lacanal Cuadrado&amp;lt;br /&amp;gt; • David Ortiz Liriano&amp;lt;br /&amp;gt; • Álvaro Pintor Sousa&amp;lt;br /&amp;gt; • Alberto Rodríguez Fernández}}&lt;br /&gt;
{{ beta }}&lt;br /&gt;
== Introducción ==&lt;br /&gt;
[[Image:PlacaAnillo.png|300px|thumb|right|Anillo circular entre los radios \(\rho=1\) y \(\rho=6\)]]&lt;br /&gt;
El problema nos pide considerar una placa plana en forma de anillo o corona circular, comprendida entre los radios \(\rho=1\) y \(\rho=6\), dividida en diferentes franjas circulares (sectores), cuya temperatura varía según la dirección radial.&lt;br /&gt;
&lt;br /&gt;
Disponemos de la función que determina la temperatura inicial de la placa, que abarca distintos valores del radio \(\rho\):&lt;br /&gt;
&lt;br /&gt;
\[ \begin{array}{c} \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} &amp;amp;&amp;amp;&amp;amp;(1) \end{array} \]&lt;br /&gt;
&lt;br /&gt;
Los extremos de la placa están en contacto con objetos que, por diversas razones físicas, hacen que el límite interior de la placa se encuentre a \(0ºC\), mientras que el exterior está, de un modo similar, a \(10ºC\). Estas temperaturas se mantienen constantes con el paso del tiempo, es decir, durante \(t&amp;gt;0\).&lt;br /&gt;
&lt;br /&gt;
Analizando la situación, podemos ver que se trata de un problema que se puede representar mediante la ecuación del calor y su distribución a lo largo del tiempo para los diferentes intervalos representados anteriormente \((1)\).&lt;br /&gt;
&lt;br /&gt;
'''''OBSERVACIÓN''''': Tal como indica el enunciado, se hace preciso trabajar con la ayuda de una parametrización en coordenadas polares por la facilidad práctica que supone. Sin embargo, la temperatura no varía en función de \(\theta\) (siendo \(\theta\) el ángulo girado con respecto al eje de abcisas y centro en el origen de coordenadas), razón por la cual asemejaremos este problema al de una varilla de longitud comprendida entre \(x\in [1,6]\), cuya función de temperatura depende del tiempo y de la distancia \(\rho\) al extremo interior \(\rho=1\).&lt;br /&gt;
&lt;br /&gt;
Considerando \(u(\rho,t)\) como la función que determinará el calor de la placa, las condiciones iniciales y de frontera, serán las siguientes:&lt;br /&gt;
&lt;br /&gt;
*Para \(\rho=1\), tenemos una temperatura constante de \(0ºC\). &lt;br /&gt;
*Para \(\rho=6\), tenemos una temperatura constante de \(10ºC\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Suponemos que la temperatura \(u\) de la placa en forma de anillo depende sólo de la coordenada radial \(\rho\) y del tiempo \(t\) es decir: &lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
u = u(\rho,t)&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
y que satisface la ecuacion del calor:&lt;br /&gt;
\[&lt;br /&gt;
u_t - \Delta u =0&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Resolvemos esta ecuación diferencial mediante el método del trapecio, y los resultados gráficos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio11.png|520px|thumb|left]]  [[Image:Trapecio44.png|520px|thumb|right]]&lt;br /&gt;
[[Image:Trapecio22.png|520px|thumb|left]]  [[Image:Trapecio33.png|520px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en el entorno de \(\rho=2\), la gráfica realiza ciertas oscilaciones. Podría ser debido a que en ese punto, la solución de nuestra ecuación diferencial no tiene límite definido, haciendo que nuestra herramienta de cálculo matemático no sepa fijar un valor concreto para cada punto perteneciente a este entorno. Podríamos poner el ejemplo de la función &amp;lt;math&amp;gt;sin (1/x) &amp;lt;/math&amp;gt; , cuyo límite no se define completamente, y la gráfica obtenida es la siguiente:&lt;br /&gt;
[[image:017-curvas-sen1x.gif|300px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
El código de Matlab utilizado para la obtención de resultados, es el siguiente:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; &lt;br /&gt;
h=0.1; &lt;br /&gt;
x=a:h:b; %El vector x tiene N+1 elementos &lt;br /&gt;
N=(b-a)/h;&lt;br /&gt;
% matriz K &lt;br /&gt;
K=(1/h^2)*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F y valor inicial &lt;br /&gt;
rho=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=(0.*rho); %término independiente &lt;br /&gt;
%valor inicial &lt;br /&gt;
U=(0.*rho);&lt;br /&gt;
% U=[1,N-2];&lt;br /&gt;
rho=1;&lt;br /&gt;
for i=1:N-1&lt;br /&gt;
    if i&amp;gt;1 &amp;amp; i&amp;lt;(2-1)/h&lt;br /&gt;
        rho=rho+h;&lt;br /&gt;
        U(1,i)=100*(rho-1);&lt;br /&gt;
elseif i&amp;gt;(2-1)/h &amp;amp; i&amp;lt;(5-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=100;&lt;br /&gt;
elseif i&amp;gt;(5-1)/h &amp;amp; i&amp;lt;(6-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=90*(6-rho)+10;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
% discretización en t &lt;br /&gt;
j=h/4; % paso en t. &lt;br /&gt;
t=0:j:3; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
 &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 Z=U+j/2*(-K*U); &lt;br /&gt;
 U=(eye(N-1)+K*j/2)\Z; &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
end &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[Mx,Mt]=meshgrid(x,t); &lt;br /&gt;
mesh(Mx,Mt,sol) ;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Representación de la temperatura en el tiempo para \(\rho=3\) ==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar el comportamiento de la temperatura para un radio constante \(\rho=3\) en una gráfica 2-D (eje de abcisas, temperatura y eje de ordenadas, tiempo). Para ello, utilizamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=2; b=5; &lt;br /&gt;
x=a:h:b;&lt;br /&gt;
N=(b-a)/h; &lt;br /&gt;
% Matriz K &lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F &lt;br /&gt;
xx=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=0*xx; &lt;br /&gt;
U=100*ones(size(xx)); %valor inicial para un \rho=3&lt;br /&gt;
% discretización en t &lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
 end &lt;br /&gt;
plot(t,sol(:,11)) %la columna 11 es la correspondiente a \rho=3&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Ejr3.png|500px|thumb|centre|Variación de la temperatura en los \(10\) primeros segundos para \(\rho=3\)]]&lt;br /&gt;
&lt;br /&gt;
Se puede observar que la temperatura inicial (\(t=0\)), es de \(100ºC\), condición impuesta en las condiciones iniciales. Con el paso del tiempo, la tendencia natural de la temperatura a crear un flujo de calor que viaja desde las zonas de temperatura más alta, a las zonas de temperatura más baja, influye en la estabilización y homogeneización de esta a lo largo de la dirección radial del disco. Es decir, que, a medida que pasa el tiempo, el flujo de calor va de las zonas con más temperatura a las de menor, es por eso que en el instante inicial su temperatura es máxima y luego disminuye, porque está transmitiendo calor. Como puede observarse una vez alcanzados los \(10\) primeros segundos la placa en ese radio \(\rho=3\) se estabilizada en \(0ºC\).&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema por diferentes métodos de discretizacion==&lt;br /&gt;
'''''OBSERVACIÓN''''': El método de Euler necesita un paso de tiempo del orden de &amp;lt;math&amp;gt;\frac{h^2}{2}&amp;lt;/math&amp;gt; para ser estable, siendo \(h\) el paso espacial.&lt;br /&gt;
=== Euler explicito ===&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema de ecuaciones diferenciales esta vez utilizando el método de Euler explícito, con las mismas condiciones que en el método de las diferencias finitas y del trapecio.&lt;br /&gt;
&lt;br /&gt;
El código MATLAB utilizado es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler explicito &lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
%Valores iniciales&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para conseguir estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:eexplicito.jpg|500px|thumb|centro|Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, la temperatura es máxima entre los radios 2 y 5 en el instante inicial. A partir de ese momento a medida que avanzan los segundos la temperatura desciende debido a la tendencia natural de la placa a estabilizarse, de manera que el calor se transmite desde las zonas de mayor temperatura a las de menor, hasta alcanzar una temperatura homogénea.&lt;br /&gt;
&lt;br /&gt;
===Euler implícito===&lt;br /&gt;
&lt;br /&gt;
Realizamos el mismo ejercicio con el método de Euler implícito utilizando el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler implicito (incondicionalmente estable)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2;  &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U=(eye(N-1)+j*K)\(U+F');&lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eimplicito.jpg|500px|thumb|centro|Euler Implícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este gráfico se observa lo mismo que lo dicho en el gráfico anterior. La única diferencia es el método utilizado para conseguirlo, es decir en el código MATLAB utilizado. Las conclusiones que se pueden deducir son las mismas que con el método de Euler explícito.&lt;br /&gt;
&lt;br /&gt;
===Euler modificado===&lt;br /&gt;
&lt;br /&gt;
Por último, probamos con el método de Euler modificado. Para ello adjuntamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
Código&lt;br /&gt;
&lt;br /&gt;
Imagen&lt;br /&gt;
&lt;br /&gt;
Discusión &lt;br /&gt;
&lt;br /&gt;
== Variación de la temperatura para tiempos grandes==&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
La solución numérica de este sistema consiste en dar como solución aproximada una función en serie de Fourier. &lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} U( \rho,t)= U_0( \rho,t) + W( \rho,t) \end{array}\\&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\begin{equation}&lt;br /&gt;
 U( \rho,t)=2x-2+\sum_{i=1}^k{\frac{-230-2.5(-1)^k}{\pi\cdot{k}}}\cdot{e^{-((k\cdot{\pi}^2)\cdot{t}}}\cdot{\sin({k\cdot{\pi}\cdot{x})}} \end{equation}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El programa utilizado para representar la solución se expone a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; c=0; d=1;&lt;br /&gt;
h=0.1;  N=(b-a)/h;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
M=50;&lt;br /&gt;
k=(d-c)/M;&lt;br /&gt;
t=c:k:d;&lt;br /&gt;
[X,T]=meshgrid(x,t);&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
U0=2*X-2;&lt;br /&gt;
Q=10;&lt;br /&gt;
U=U0;&lt;br /&gt;
for j=1:Q&lt;br /&gt;
 pj=sin(pi*x*k);&lt;br /&gt;
 pj1=sin(pi*xx1*k);&lt;br /&gt;
 pj2=sin(pi*xx2*k);&lt;br /&gt;
 pj3=sin(pi*xx3*k);&lt;br /&gt;
 fourier(j)=(trapz(xx1,U1.*pj1)+trapz(xx2,U2.*pj2)+trapz(xx3,U3.*pj3))/trapz(x,pj.^2);&lt;br /&gt;
 U=U+fourier(j)*(exp(-((pi^2)*j*T))).*(sin(pi*X*j));&lt;br /&gt;
 end&lt;br /&gt;
figure&lt;br /&gt;
mesh(X,T,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Representando la superficie para diferentes tiempos t=0,2 y 10 segundos observamos como la temperatura tiende a estabilizarse a un valor estacionario para cada punto, estableciéndose un incremento de temperatura lineal en el anillo, en la dirección del radio. &lt;br /&gt;
La disminución de la temperatura en el tiempo se plasma dentro de la función  \( u = u(\rho,t)\) = XXXXX desarrollada en serie de Fourier, en forma de \(e^-t=1/e^t\). Es precisamente este operador de la función el que impone un valor estacionario de la temperatura en la placa. Este valor estacionario seguirá la función \(U_0( \rho,t)= 2x - 2\), que es la función que nos permite homogeneizar las condiciones de contorno de nuestro problema inicial. &lt;br /&gt;
De esta forma, para tiempo infinito la temperatura en  \(\rho=1\) será 0ºC y en \(\rho=6\) será 10ºC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_0.png|500px|thumb|centre|Solución para un t=0 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_1.png|500px|thumb|centre|Solución para un t=1 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
Vemos que para t=1 segundo la solución ya coincide prácticamente con al estacionaria. Esto significa que la temperatura de la placa se estabiliza muy rápidamente. En la siguiente gráfica se observa como la variación de la temperatura se estabiliza para tiempos pequeños.&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiempo_12.png |500px|thumb|centre|Solución para un t=1 segundos y diferencia con la solución estacionaria]]&lt;br /&gt;
&lt;br /&gt;
== Variacion de las condiciones de frontera ==&lt;br /&gt;
&lt;br /&gt;
Ahora colocamos en la frontera exterior de la placa (\(\rho=6\)) una pieza aislante (en lugar de un objeto con temperatura constante 10). El aislante hace que no haya pérdida de calor en ese extremo, es decir, el flujo de temperatura en la dirección radial es nulo, no entra ni sale calor en ese extremo de la placa. El valor estacionario de la temperatura de la placa será 0ºC. La temperatura tarda en alcanzar el estado estacionario XXXXXXX con un error del 5%.&lt;br /&gt;
&lt;br /&gt;
El sistema en este caso es análogo al anterior. La diferencia que se impone es que el flujo de calor en la direccion radial sea nulo en la placa (condición de Neumann).&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \(u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u_\rho(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K(N-1,N-1)=2/3; &lt;br /&gt;
K(N-1,N-2)=-2/3; &lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N)&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1)&lt;br /&gt;
U2 =100*ones(size(xx2)) %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10)&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3]&lt;br /&gt;
sol(1,:)=[0,U,((-U(4)+U(5))/3)]&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',((-U(4)+U(5))/3)]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Image:GRAFICA6.png|500px|thumb|center|Gráfica que describe el comportamiento de la temperatura a lo largo del tiempo según el radio, de acuerdo a las condiciones del enunciado. ]]&lt;br /&gt;
&lt;br /&gt;
== Transformación del problema en disco ==&lt;br /&gt;
[[Image:PlacaDisco.png|300px|thumb|right|Disco circular de radio \(\rho&amp;lt;6\)]]&lt;br /&gt;
Considerando que la placa ocupa todo el disco \(\rho&amp;lt;6\), aproximaremos las soluciones usando el método de Fourier. De nuevo, la solución dependerá sólo de \(\rho\) y \(t\), y tomaremos ahora como condición frontera \(u(6,t) = 0\).&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (0,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(0,t)=0 &amp;amp; u(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problema de autovalores ===&lt;br /&gt;
=== Función de Bessel ===&lt;br /&gt;
Mediante la &lt;br /&gt;
=== Aproximación de la solución ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=12664</id>
		<title>Calor Placa Anillo (18B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=12664"/>
				<updated>2014-05-19T11:03:43Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: Añadida categoria&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor en una placa en forma de anillo (Grupo 18) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | • Arantxa Abascal Colomar&amp;lt;br /&amp;gt; • Patricia Fernández Aibar&amp;lt;br /&amp;gt; • Paula Lacanal Cuadrado&amp;lt;br /&amp;gt; • David Ortiz Liriano&amp;lt;br /&amp;gt; • Álvaro Pintor Sousa&amp;lt;br /&amp;gt; • Alberto Rodríguez Fernández}}&lt;br /&gt;
{{ beta }}&lt;br /&gt;
== Introducción ==&lt;br /&gt;
[[Image:PlacaAnillo.png|300px|thumb|right|Anillo circular entre los radios \(\rho=1\) y \(\rho=6\)]]&lt;br /&gt;
El problema nos pide considerar una placa plana en forma de anillo o corona circular, comprendida entre los radios \(\rho=1\) y \(\rho=6\), dividida en diferentes franjas circulares (sectores), cuya temperatura varía según la dirección radial.&lt;br /&gt;
&lt;br /&gt;
Disponemos de la función que determina la temperatura inicial de la placa, que abarca distintos valores del radio \(\rho\):&lt;br /&gt;
&lt;br /&gt;
\[ \begin{array}{c} \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} &amp;amp;&amp;amp;&amp;amp;(1) \end{array} \]&lt;br /&gt;
&lt;br /&gt;
Los extremos de la placa están en contacto con objetos que, por diversas razones físicas, hacen que el límite interior de la placa se encuentre a \(0ºC\), mientras que el exterior está, de un modo similar, a \(10ºC\). Estas temperaturas se mantienen constantes con el paso del tiempo, es decir, durante \(t&amp;gt;0\).&lt;br /&gt;
&lt;br /&gt;
Analizando la situación, podemos ver que se trata de un problema que se puede representar mediante la ecuación del calor y su distribución a lo largo del tiempo para los diferentes intervalos representados anteriormente \((1)\).&lt;br /&gt;
&lt;br /&gt;
'''''OBSERVACIÓN''''': Tal como indica el enunciado, se hace preciso trabajar con la ayuda de una parametrización en coordenadas polares por la facilidad práctica que supone. Sin embargo, la temperatura no varía en función de \(\theta\) (siendo \(\theta\) el ángulo girado con respecto al eje de abcisas y centro en el origen de coordenadas), razón por la cual asemejaremos este problema al de una varilla de longitud comprendida entre \(x\in [1,6]\), cuya función de temperatura depende del tiempo y de la distancia \(\rho\) al extremo interior \(\rho=1\).&lt;br /&gt;
&lt;br /&gt;
Considerando \(u(\rho,t)\) como la función que determinará el calor de la placa, las condiciones iniciales y de frontera, serán las siguientes:&lt;br /&gt;
&lt;br /&gt;
*Para \(\rho=1\), tenemos una temperatura constante de \(0ºC\). &lt;br /&gt;
*Para \(\rho=6\), tenemos una temperatura constante de \(10ºC\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Suponemos que la temperatura \(u\) de la placa en forma de anillo depende sólo de la coordenada radial \(\rho\) y del tiempo \(t\) es decir: &lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
u = u(\rho,t)&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
y que satisface la ecuacion del calor:&lt;br /&gt;
\[&lt;br /&gt;
u_t - \Delta u =0&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Resolvemos esta ecuación diferencial mediante el método del trapecio, y los resultados gráficos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio11.png|520px|thumb|left]]  [[Image:Trapecio44.png|520px|thumb|right]]&lt;br /&gt;
[[Image:Trapecio22.png|520px|thumb|left]]  [[Image:Trapecio33.png|520px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en el entorno de \(\rho=2\), la gráfica realiza ciertas oscilaciones. Podría ser debido a que en ese punto, la solución de nuestra ecuación diferencial no tiene límite definido, haciendo que nuestra herramienta de cálculo matemático no sepa fijar un valor concreto para cada punto perteneciente a este entorno. Podríamos poner el ejemplo de la función &amp;lt;math&amp;gt;sin (1/x) &amp;lt;/math&amp;gt; , cuyo límite no se define completamente, y la gráfica obtenida es la siguiente:&lt;br /&gt;
[[image:017-curvas-sen1x.gif|300px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
El código de Matlab utilizado para la obtención de resultados, es el siguiente:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; &lt;br /&gt;
h=0.1; &lt;br /&gt;
x=a:h:b; %El vector x tiene N+1 elementos &lt;br /&gt;
N=(b-a)/h;&lt;br /&gt;
% matriz K &lt;br /&gt;
K=(1/h^2)*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F y valor inicial &lt;br /&gt;
rho=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=(0.*rho); %término independiente &lt;br /&gt;
%valor inicial &lt;br /&gt;
U=(0.*rho);&lt;br /&gt;
% U=[1,N-2];&lt;br /&gt;
rho=1;&lt;br /&gt;
for i=1:N-1&lt;br /&gt;
    if i&amp;gt;1 &amp;amp; i&amp;lt;(2-1)/h&lt;br /&gt;
        rho=rho+h;&lt;br /&gt;
        U(1,i)=100*(rho-1);&lt;br /&gt;
elseif i&amp;gt;(2-1)/h &amp;amp; i&amp;lt;(5-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=100;&lt;br /&gt;
elseif i&amp;gt;(5-1)/h &amp;amp; i&amp;lt;(6-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=90*(6-rho)+10;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
% discretización en t &lt;br /&gt;
j=h/4; % paso en t. &lt;br /&gt;
t=0:j:3; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
 &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 Z=U+j/2*(-K*U); &lt;br /&gt;
 U=(eye(N-1)+K*j/2)\Z; &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
end &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[Mx,Mt]=meshgrid(x,t); &lt;br /&gt;
mesh(Mx,Mt,sol) ;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Representación de la temperatura en el tiempo para \(\rho=3\) ==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar el comportamiento de la temperatura para un radio constante \(\rho=3\) en una gráfica 2-D (eje de abcisas, temperatura y eje de ordenadas, tiempo). Para ello, utilizamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=2; b=5; &lt;br /&gt;
x=a:h:b;&lt;br /&gt;
N=(b-a)/h; &lt;br /&gt;
% Matriz K &lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F &lt;br /&gt;
xx=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=0*xx; &lt;br /&gt;
U=100*ones(size(xx)); %valor inicial para un \rho=3&lt;br /&gt;
% discretización en t &lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
 end &lt;br /&gt;
plot(t,sol(:,11)) %la columna 11 es la correspondiente a \rho=3&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Ejr3.png|500px|thumb|centre|Variación de la temperatura en los \(10\) primeros segundos para \(\rho=3\)]]&lt;br /&gt;
&lt;br /&gt;
Se puede observar que la temperatura inicial (\(t=0\)), es de \(100ºC\), condición impuesta en las condiciones iniciales. Con el paso del tiempo, la tendencia natural de la temperatura a crear un flujo de calor que viaja desde las zonas de temperatura más alta, a las zonas de temperatura más baja, influye en la estabilización y homogeneización de esta a lo largo de la dirección radial del disco. Es decir, que, a medida que pasa el tiempo, el flujo de calor va de las zonas con más temperatura a las de menor, es por eso que en el instante inicial su temperatura es máxima y luego disminuye, porque está transmitiendo calor. Como puede observarse una vez alcanzados los \(10\) primeros segundos la placa en ese radio \(\rho=3\) se estabilizada en \(0ºC\).&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema por diferentes métodos de discretizacion==&lt;br /&gt;
'''''OBSERVACIÓN''''': El método de Euler necesita un paso de tiempo del orden de &amp;lt;math&amp;gt;\frac{h^2}{2}&amp;lt;/math&amp;gt; para ser estable, siendo \(h\) el paso espacial.&lt;br /&gt;
=== Euler explicito ===&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema de ecuaciones diferenciales esta vez utilizando el método de Euler explícito, con las mismas condiciones que en el método de las diferencias finitas y del trapecio.&lt;br /&gt;
&lt;br /&gt;
El código MATLAB utilizado es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler explicito &lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
%Valores iniciales&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para conseguir estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:eexplicito.jpg|500px|thumb|centro|Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, la temperatura es máxima entre los radios 2 y 5 en el instante inicial. A partir de ese momento a medida que avanzan los segundos la temperatura desciende debido a la tendencia natural de la placa a estabilizarse, de manera que el calor se transmite desde las zonas de mayor temperatura a las de menor, hasta alcanzar una temperatura homogénea.&lt;br /&gt;
&lt;br /&gt;
===Euler implícito===&lt;br /&gt;
&lt;br /&gt;
Realizamos el mismo ejercicio con el método de Euler implícito utilizando el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler implicito (incondicionalmente estable)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2;  &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U=(eye(N-1)+j*K)\(U+F');&lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eimplicito.jpg|500px|thumb|centro|Euler Implícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este gráfico se observa lo mismo que lo dicho en el gráfico anterior. La única diferencia es el método utilizado para conseguirlo, es decir en el código MATLAB utilizado. Las conclusiones que se pueden deducir son las mismas que con el método de Euler explícito.&lt;br /&gt;
&lt;br /&gt;
===Euler modificado===&lt;br /&gt;
&lt;br /&gt;
Por último, probamos con el método de Euler modificado. Para ello adjuntamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
Código&lt;br /&gt;
&lt;br /&gt;
Imagen&lt;br /&gt;
&lt;br /&gt;
Discusión &lt;br /&gt;
&lt;br /&gt;
== Variación de la temperatura para tiempos grandes==&lt;br /&gt;
=== Solución Analítica===&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resolvemos la ecuación del calor en la placa y representamos la solución imponiendo diferentes intervalos de tiempo[10,100,1000].&lt;br /&gt;
El programa de representación es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
N=10;&lt;br /&gt;
M=10;&lt;br /&gt;
a=1; b=6;&lt;br /&gt;
h=(b-a)/500;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
T=1;&lt;br /&gt;
k=T/100;&lt;br /&gt;
for m=1:N&lt;br /&gt;
u=x.*0;&lt;br /&gt;
for n=1:M&lt;br /&gt;
v=(.2*x)-.2;&lt;br /&gt;
n1=2*(n-1)+1;&lt;br /&gt;
fac=((-230-(2.5*(-1)^n1))/(n1*pi))*(exp(-((n1^2)*(pi^2)*(m-1)*k)));&lt;br /&gt;
q=sin(n1*pi*x);&lt;br /&gt;
u=u+(v+(fac*q));&lt;br /&gt;
end&lt;br /&gt;
hold on &lt;br /&gt;
plot(x,u)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Podemos ver en las siguientes gráficas, representando la solución para t=1 y 10  segundos, cómo la temperatura tiende a estabilizarse a un valor estacionario para cada punto. Se establece un incremento de temperatura lineal, en la dirección del radio.&lt;br /&gt;
&lt;br /&gt;
[[Image:K12=1.png|500px|thumb|centre|Solución analítica para un t=1 seg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:K12=10.png|500px|thumb|centre|Solución analítica para un t=10 seg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variacion de las condiciones de frontera ==&lt;br /&gt;
&lt;br /&gt;
Ahora colocamos en la frontera exterior de la placa (\(\rho=6\)) una pieza aislante (en lugar de un objeto con temperatura constante 10). El aislante hace que no haya pérdida de calor en ese extremo, es decir, el flujo de temperatura en la dirección radial es nulo, no entra ni sale calor en ese extremo de la placa. El valor estacionario de la temperatura de la placa será 0ºC. La temperatura tarda en alcanzar el estado estacionario XXXXXXX con un error del 5%.&lt;br /&gt;
&lt;br /&gt;
El sistema en este caso es análogo al anterior. La diferencia que se impone es que el flujo de calor en la direccion radial sea nulo en la placa (condición de Neumann).&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \(u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u_\rho(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K(N-1,N-1)=2/3; &lt;br /&gt;
K(N-1,N-2)=-2/3; &lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N)&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1)&lt;br /&gt;
U2 =100*ones(size(xx2)) %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10)&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3]&lt;br /&gt;
sol(1,:)=[0,U,((-U(4)+U(5))/3)]&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',((-U(4)+U(5))/3)]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Image:GRAFICA6.png|500px|thumb|center|Gráfica que describe el comportamiento de la temperatura a lo largo del tiempo según el radio, de acuerdo a las condiciones del enunciado. ]]&lt;br /&gt;
&lt;br /&gt;
== Transformación del problema en disco ==&lt;br /&gt;
[[Image:PlacaDisco.png|300px|thumb|right|Disco circular de radio \(\rho&amp;lt;6\)]]&lt;br /&gt;
Considerando que la placa ocupa todo el disco \(\rho&amp;lt;6\), aproximaremos las soluciones usando el método de Fourier. De nuevo, la solución dependerá sólo de \(\rho\) y \(t\), y tomaremos ahora como condición frontera \(u(6,t) = 0\).&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (0,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(0,t)=0 &amp;amp; u(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problema de autovalores ===&lt;br /&gt;
=== Función de Bessel ===&lt;br /&gt;
Mediante la &lt;br /&gt;
=== Aproximación de la solución ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=12329</id>
		<title>Calor Placa Anillo (18B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=12329"/>
				<updated>2014-05-18T19:14:35Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Variacion de las condiciones de frontera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor en una placa en forma de anillo (Grupo 18) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | • Arantxa Abascal Colomar&amp;lt;br /&amp;gt; • Patricia Fernández Aibar&amp;lt;br /&amp;gt; • Paula Lacanal Cuadrado&amp;lt;br /&amp;gt; • David Ortiz Liriano&amp;lt;br /&amp;gt; • Álvaro Pintor Sousa&amp;lt;br /&amp;gt; • Alberto Rodríguez Fernández}}&lt;br /&gt;
{{ beta }}&lt;br /&gt;
== Introducción ==&lt;br /&gt;
[[Image:PlacaAnillo.png|300px|thumb|right|Anillo circular entre los radios \(\rho=1\) y \(\rho=6\)]]&lt;br /&gt;
El problema nos pide considerar una placa plana en forma de anillo o corona circular, comprendida entre los radios \(\rho=1\) y \(\rho=6\), dividida en diferentes franjas circulares (sectores), cuya temperatura varía según la dirección radial.&lt;br /&gt;
&lt;br /&gt;
Disponemos de la función que determina la temperatura inicial de la placa, que abarca distintos valores del radio \(\rho\):&lt;br /&gt;
&lt;br /&gt;
\[ \begin{array}{c} \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} &amp;amp;&amp;amp;&amp;amp;(1) \end{array} \]&lt;br /&gt;
&lt;br /&gt;
Los extremos de la placa están en contacto con objetos que, por diversas razones físicas, hacen que el límite interior de la placa se encuentre a \(0ºC\), mientras que el exterior está, de un modo similar, a \(10ºC\). Estas temperaturas se mantienen constantes con el paso del tiempo, es decir, durante \(t&amp;gt;0\).&lt;br /&gt;
&lt;br /&gt;
Analizando la situación, podemos ver que se trata de un problema que se puede representar mediante la ecuación del calor y su distribución a lo largo del tiempo para los diferentes intervalos representados anteriormente \((1)\).&lt;br /&gt;
&lt;br /&gt;
'''''OBSERVACIÓN''''': Tal como indica el enunciado, se hace preciso trabajar con la ayuda de una parametrización en coordenadas polares por la facilidad práctica que supone. Sin embargo, la temperatura no varía en función de \(\theta\) (siendo \(\theta\) el ángulo girado con respecto al eje de abcisas y centro en el origen de coordenadas), razón por la cual asemejaremos este problema al de una varilla de longitud comprendida entre \(x\in [1,6]\), cuya función de temperatura depende del tiempo y de la distancia \(\rho\) al extremo interior \(\rho=1\).&lt;br /&gt;
&lt;br /&gt;
Considerando \(u(\rho,t)\) como la función que determinará el calor de la placa, las condiciones iniciales y de frontera, serán las siguientes:&lt;br /&gt;
&lt;br /&gt;
*Para \(\rho=1\), tenemos una temperatura constante de \(0ºC\). &lt;br /&gt;
*Para \(\rho=6\), tenemos una temperatura constante de \(10ºC\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Suponemos que la temperatura \(u\) de la placa en forma de anillo depende sólo de la coordenada radial \(\rho\) y del tiempo \(t\) es decir: &lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
u = u(\rho,t)&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
y que satisface la ecuacion del calor:&lt;br /&gt;
\[&lt;br /&gt;
u_t - \Delta u =0&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Resolvemos esta ecuación diferencial mediante el método del trapecio, y los resultados gráficos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio11.png|520px|thumb|left]]  [[Image:Trapecio44.png|520px|thumb|right]]&lt;br /&gt;
[[Image:Trapecio22.png|520px|thumb|left]]  [[Image:Trapecio33.png|520px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en el entorno de \(\rho=2\), la gráfica realiza ciertas oscilaciones. Podría ser debido a que en ese punto, la solución de nuestra ecuación diferencial no tiene límite definido, haciendo que nuestra herramienta de cálculo matemático no sepa fijar un valor concreto para cada punto perteneciente a este entorno. Podríamos poner el ejemplo de la función &amp;lt;math&amp;gt;sin (1/x) &amp;lt;/math&amp;gt; , cuyo límite no se define completamente, y la gráfica obtenida es la siguiente:&lt;br /&gt;
[[image:017-curvas-sen1x.gif|300px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
El código de Matlab utilizado para la obtención de resultados, es el siguiente:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; &lt;br /&gt;
h=0.1; &lt;br /&gt;
x=a:h:b; %El vector x tiene N+1 elementos &lt;br /&gt;
N=(b-a)/h;&lt;br /&gt;
% matriz K &lt;br /&gt;
K=(1/h^2)*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F y valor inicial &lt;br /&gt;
rho=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=(0.*rho); %término independiente &lt;br /&gt;
%valor inicial &lt;br /&gt;
U=(0.*rho);&lt;br /&gt;
% U=[1,N-2];&lt;br /&gt;
rho=1;&lt;br /&gt;
for i=1:N-1&lt;br /&gt;
    if i&amp;gt;1 &amp;amp; i&amp;lt;(2-1)/h&lt;br /&gt;
        rho=rho+h;&lt;br /&gt;
        U(1,i)=100*(rho-1);&lt;br /&gt;
elseif i&amp;gt;(2-1)/h &amp;amp; i&amp;lt;(5-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=100;&lt;br /&gt;
elseif i&amp;gt;(5-1)/h &amp;amp; i&amp;lt;(6-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=90*(6-rho)+10;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
% discretización en t &lt;br /&gt;
j=h/4; % paso en t. &lt;br /&gt;
t=0:j:3; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
 &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 Z=U+j/2*(-K*U); &lt;br /&gt;
 U=(eye(N-1)+K*j/2)\Z; &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
end &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[Mx,Mt]=meshgrid(x,t); &lt;br /&gt;
mesh(Mx,Mt,sol) ;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Representación de la temperatura en el tiempo para \(\rho=3\) ==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar el comportamiento de la temperatura para un radio constante \(\rho=3\) en una gráfica 2-D (eje de abcisas, temperatura y eje de ordenadas, tiempo). Para ello, utilizamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=2; b=5; &lt;br /&gt;
x=a:h:b;&lt;br /&gt;
N=(b-a)/h; &lt;br /&gt;
% Matriz K &lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F &lt;br /&gt;
xx=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=0*xx; &lt;br /&gt;
U=100*ones(size(xx)); %valor inicial para un \rho=3&lt;br /&gt;
% discretización en t &lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
 end &lt;br /&gt;
plot(t,sol(:,11)) %la columna 11 es la correspondiente a \rho=3&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Ejr3.png|500px|thumb|centre|Variación de la temperatura en los \(10\) primeros segundos para \(\rho=3\)]]&lt;br /&gt;
&lt;br /&gt;
Se puede observar que la temperatura inicial (\(t=0\)), es de \(100ºC\), condición impuesta en las condiciones iniciales. Con el paso del tiempo, la tendencia natural de la temperatura a crear un flujo de calor que viaja desde las zonas de temperatura más alta, a las zonas de temperatura más baja, influye en la estabilización y homogeneización de esta a lo largo de la dirección radial del disco. Es decir, que, a medida que pasa el tiempo, el flujo de calor va de las zonas con más temperatura a las de menor, es por eso que en el instante inicial su temperatura es máxima y luego disminuye, porque está transmitiendo calor. Como puede observarse una vez alcanzados los \(10\) primeros segundos la placa en ese radio \(\rho=3\) se estabilizada en \(0ºC\).&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema por diferentes métodos de discretizacion==&lt;br /&gt;
'''''OBSERVACIÓN''''': El método de Euler necesita un paso de tiempo del orden de &amp;lt;math&amp;gt;\frac{h^2}{2}&amp;lt;/math&amp;gt; para ser estable, siendo \(h\) el paso espacial.&lt;br /&gt;
=== Euler explicito ===&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema de ecuaciones diferenciales esta vez utilizando el método de Euler explícito, con las mismas condiciones que en el método de las diferencias finitas y del trapecio.&lt;br /&gt;
&lt;br /&gt;
El código MATLAB utilizado es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler explicito &lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
%Valores iniciales&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para conseguir estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:eexplicito.jpg|500px|thumb|centro|Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, la temperatura es máxima entre los radios 2 y 5 en el instante inicial. A partir de ese momento a medida que avanzan los segundos la temperatura desciende debido a la tendencia natural de la placa a estabilizarse, de manera que el calor se transmite desde las zonas de mayor temperatura a las de menor, hasta alcanzar una temperatura homogénea.&lt;br /&gt;
&lt;br /&gt;
===Euler implícito===&lt;br /&gt;
&lt;br /&gt;
Realizamos el mismo ejercicio con el método de Euler implícito utilizando el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler implicito (incondicionalmente estable)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2;  &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U=(eye(N-1)+j*K)\(U+F');&lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eimplicito.jpg|500px|thumb|centro|Euler Implícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este gráfico se observa lo mismo que lo dicho en el gráfico anterior. La única diferencia es el método utilizado para conseguirlo, es decir en el código MATLAB utilizado. Las conclusiones que se pueden deducir son las mismas que con el método de Euler explícito.&lt;br /&gt;
&lt;br /&gt;
== Variación de la temperatura para tiempos grandes==&lt;br /&gt;
=== Solución Analítica===&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resolvemos la ecuación del calor en la placa y representamos la solución imponiendo diferentes intervalos de tiempo[10,100,1000].&lt;br /&gt;
El programa de representación es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
N=10;&lt;br /&gt;
M=10;&lt;br /&gt;
a=1; b=6;&lt;br /&gt;
h=(b-a)/500;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
T=1;&lt;br /&gt;
k=T/100;&lt;br /&gt;
for m=1:N&lt;br /&gt;
u=x.*0;&lt;br /&gt;
for n=1:M&lt;br /&gt;
v=(.2*x)-.2;&lt;br /&gt;
n1=2*(n-1)+1;&lt;br /&gt;
fac=((-230-(2.5*(-1)^n1))/(n1*pi))*(exp(-((n1^2)*(pi^2)*(m-1)*k)));&lt;br /&gt;
q=sin(n1*pi*x);&lt;br /&gt;
u=u+(v+(fac*q));&lt;br /&gt;
end&lt;br /&gt;
hold on &lt;br /&gt;
plot(x,u)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Podemos ver en las siguientes gráficas, representando la solución para t=10, 100 y 1000 segundos, cómo la temperatura tiende a estabilizarse a un valor estacionario para cada punto. Se establece un incremento de temperatura lineal, en la dirección del radio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:K12=1.png|500px|thumb|centre|Solución analítica para un t=1 seg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:K12=10.png|500px|thumb|centre|Solución analítica para un t=10 seg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variacion de las condiciones de frontera ==&lt;br /&gt;
&lt;br /&gt;
Ahora colocamos en la frontera exterior de la placa (\(\rho=6\)) una pieza aislante (en lugar de un objeto con temperatura constante 10). El aislante hace que no haya pérdida de calor en ese extremo, es decir, el flujo de temperatura en la dirección radial es nulo, no entra ni sale calor en ese extremo de la placa. El valor estacionario de la temperatura de la placa será 0ºC. La temperatura tarda en alcanzar el estado estacionario XXXXXXX con un error del 5%.&lt;br /&gt;
&lt;br /&gt;
El sistema en este caso es análogo al anterior. La diferencia que se impone es que el flujo de calor en la direccion radial sea nulo en la placa (condición de Neumann).&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \(u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u_\rho(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K(N-1,N-1)=2/3; &lt;br /&gt;
K(N-1,N-2)=-2/3; &lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N)&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1)&lt;br /&gt;
U2 =100*ones(size(xx2)) %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10)&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3]&lt;br /&gt;
sol(1,:)=[0,U,((-U(4)+U(5))/3)]&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',((-U(4)+U(5))/3)]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Image:GRAFICA6.png|500px|thumb|center|Gráfica que describe el comportamiento de la temperatura a lo largo del tiempo según el radio, de acuerdo a las condiciones del enunciado. ]]&lt;br /&gt;
&lt;br /&gt;
== Transformación del problema en disco ==&lt;br /&gt;
[[Image:PlacaDisco.png|300px|thumb|right|Disco circular de radio \(\rho&amp;lt;6\)]]&lt;br /&gt;
Considerando que la placa ocupa todo el disco \(\rho&amp;lt;6\), aproximaremos las soluciones usando el método de Fourier. De nuevo, la solución dependerá sólo de \(\rho\) y \(t\), y tomaremos ahora como condición frontera \(u(6,t) = 0\).&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (0,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(0,t)=0 &amp;amp; u(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problema de autovalores ===&lt;br /&gt;
=== Función de Bessel ===&lt;br /&gt;
Mediante la &lt;br /&gt;
=== Aproximación de la solución ===&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=12328</id>
		<title>Calor Placa Anillo (18B)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Calor_Placa_Anillo_(18B)&amp;diff=12328"/>
				<updated>2014-05-18T19:14:20Z</updated>
		
		<summary type="html">&lt;p&gt;AlbertoRF: /* Variacion de las condiciones de frontera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor en una placa en forma de anillo (Grupo 18) | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | • Arantxa Abascal Colomar&amp;lt;br /&amp;gt; • Patricia Fernández Aibar&amp;lt;br /&amp;gt; • Paula Lacanal Cuadrado&amp;lt;br /&amp;gt; • David Ortiz Liriano&amp;lt;br /&amp;gt; • Álvaro Pintor Sousa&amp;lt;br /&amp;gt; • Alberto Rodríguez Fernández}}&lt;br /&gt;
{{ beta }}&lt;br /&gt;
== Introducción ==&lt;br /&gt;
[[Image:PlacaAnillo.png|300px|thumb|right|Anillo circular entre los radios \(\rho=1\) y \(\rho=6\)]]&lt;br /&gt;
El problema nos pide considerar una placa plana en forma de anillo o corona circular, comprendida entre los radios \(\rho=1\) y \(\rho=6\), dividida en diferentes franjas circulares (sectores), cuya temperatura varía según la dirección radial.&lt;br /&gt;
&lt;br /&gt;
Disponemos de la función que determina la temperatura inicial de la placa, que abarca distintos valores del radio \(\rho\):&lt;br /&gt;
&lt;br /&gt;
\[ \begin{array}{c} \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} &amp;amp;&amp;amp;&amp;amp;(1) \end{array} \]&lt;br /&gt;
&lt;br /&gt;
Los extremos de la placa están en contacto con objetos que, por diversas razones físicas, hacen que el límite interior de la placa se encuentre a \(0ºC\), mientras que el exterior está, de un modo similar, a \(10ºC\). Estas temperaturas se mantienen constantes con el paso del tiempo, es decir, durante \(t&amp;gt;0\).&lt;br /&gt;
&lt;br /&gt;
Analizando la situación, podemos ver que se trata de un problema que se puede representar mediante la ecuación del calor y su distribución a lo largo del tiempo para los diferentes intervalos representados anteriormente \((1)\).&lt;br /&gt;
&lt;br /&gt;
'''''OBSERVACIÓN''''': Tal como indica el enunciado, se hace preciso trabajar con la ayuda de una parametrización en coordenadas polares por la facilidad práctica que supone. Sin embargo, la temperatura no varía en función de \(\theta\) (siendo \(\theta\) el ángulo girado con respecto al eje de abcisas y centro en el origen de coordenadas), razón por la cual asemejaremos este problema al de una varilla de longitud comprendida entre \(x\in [1,6]\), cuya función de temperatura depende del tiempo y de la distancia \(\rho\) al extremo interior \(\rho=1\).&lt;br /&gt;
&lt;br /&gt;
Considerando \(u(\rho,t)\) como la función que determinará el calor de la placa, las condiciones iniciales y de frontera, serán las siguientes:&lt;br /&gt;
&lt;br /&gt;
*Para \(\rho=1\), tenemos una temperatura constante de \(0ºC\). &lt;br /&gt;
*Para \(\rho=6\), tenemos una temperatura constante de \(10ºC\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema de ecuaciones ==&lt;br /&gt;
&lt;br /&gt;
Suponemos que la temperatura \(u\) de la placa en forma de anillo depende sólo de la coordenada radial \(\rho\) y del tiempo \(t\) es decir: &lt;br /&gt;
&lt;br /&gt;
\[&lt;br /&gt;
u = u(\rho,t)&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
y que satisface la ecuacion del calor:&lt;br /&gt;
\[&lt;br /&gt;
u_t - \Delta u =0&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
Resolvemos esta ecuación diferencial mediante el método del trapecio, y los resultados gráficos son los siguientes:&lt;br /&gt;
&lt;br /&gt;
[[Image:Trapecio11.png|520px|thumb|left]]  [[Image:Trapecio44.png|520px|thumb|right]]&lt;br /&gt;
[[Image:Trapecio22.png|520px|thumb|left]]  [[Image:Trapecio33.png|520px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en el entorno de \(\rho=2\), la gráfica realiza ciertas oscilaciones. Podría ser debido a que en ese punto, la solución de nuestra ecuación diferencial no tiene límite definido, haciendo que nuestra herramienta de cálculo matemático no sepa fijar un valor concreto para cada punto perteneciente a este entorno. Podríamos poner el ejemplo de la función &amp;lt;math&amp;gt;sin (1/x) &amp;lt;/math&amp;gt; , cuyo límite no se define completamente, y la gráfica obtenida es la siguiente:&lt;br /&gt;
[[image:017-curvas-sen1x.gif|300px|thumb|center]]&lt;br /&gt;
&lt;br /&gt;
El código de Matlab utilizado para la obtención de resultados, es el siguiente:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%&lt;br /&gt;
clear all &lt;br /&gt;
a=1; b=6; &lt;br /&gt;
h=0.1; &lt;br /&gt;
x=a:h:b; %El vector x tiene N+1 elementos &lt;br /&gt;
N=(b-a)/h;&lt;br /&gt;
% matriz K &lt;br /&gt;
K=(1/h^2)*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F y valor inicial &lt;br /&gt;
rho=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=(0.*rho); %término independiente &lt;br /&gt;
%valor inicial &lt;br /&gt;
U=(0.*rho);&lt;br /&gt;
% U=[1,N-2];&lt;br /&gt;
rho=1;&lt;br /&gt;
for i=1:N-1&lt;br /&gt;
    if i&amp;gt;1 &amp;amp; i&amp;lt;(2-1)/h&lt;br /&gt;
        rho=rho+h;&lt;br /&gt;
        U(1,i)=100*(rho-1);&lt;br /&gt;
elseif i&amp;gt;(2-1)/h &amp;amp; i&amp;lt;(5-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=100;&lt;br /&gt;
elseif i&amp;gt;(5-1)/h &amp;amp; i&amp;lt;(6-1)/h&lt;br /&gt;
    rho=rho+h;&lt;br /&gt;
    U(1,i)=90*(6-rho)+10;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
% discretización en t &lt;br /&gt;
j=h/4; % paso en t. &lt;br /&gt;
t=0:j:3; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
 &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 Z=U+j/2*(-K*U); &lt;br /&gt;
 U=(eye(N-1)+K*j/2)\Z; &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
end &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[Mx,Mt]=meshgrid(x,t); &lt;br /&gt;
mesh(Mx,Mt,sol) ;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Representación de la temperatura en el tiempo para \(\rho=3\) ==&lt;br /&gt;
&lt;br /&gt;
Vamos a dibujar el comportamiento de la temperatura para un radio constante \(\rho=3\) en una gráfica 2-D (eje de abcisas, temperatura y eje de ordenadas, tiempo). Para ello, utilizamos el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=2; b=5; &lt;br /&gt;
x=a:h:b;&lt;br /&gt;
N=(b-a)/h; &lt;br /&gt;
% Matriz K &lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1)); &lt;br /&gt;
% término F &lt;br /&gt;
xx=x(2:N); %quitamos primer y último elemento de x &lt;br /&gt;
F=0*xx; &lt;br /&gt;
U=100*ones(size(xx)); %valor inicial para un \rho=3&lt;br /&gt;
% discretización en t &lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
sol(1,:)=[0,U,10]; &lt;br /&gt;
U=U'; &lt;br /&gt;
for k=1:M-1 &lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k+1,:)=[0,U',10]; &lt;br /&gt;
 end &lt;br /&gt;
plot(t,sol(:,11)) %la columna 11 es la correspondiente a \rho=3&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Ejr3.png|500px|thumb|centre|Variación de la temperatura en los \(10\) primeros segundos para \(\rho=3\)]]&lt;br /&gt;
&lt;br /&gt;
Se puede observar que la temperatura inicial (\(t=0\)), es de \(100ºC\), condición impuesta en las condiciones iniciales. Con el paso del tiempo, la tendencia natural de la temperatura a crear un flujo de calor que viaja desde las zonas de temperatura más alta, a las zonas de temperatura más baja, influye en la estabilización y homogeneización de esta a lo largo de la dirección radial del disco. Es decir, que, a medida que pasa el tiempo, el flujo de calor va de las zonas con más temperatura a las de menor, es por eso que en el instante inicial su temperatura es máxima y luego disminuye, porque está transmitiendo calor. Como puede observarse una vez alcanzados los \(10\) primeros segundos la placa en ese radio \(\rho=3\) se estabilizada en \(0ºC\).&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema por diferentes métodos de discretizacion==&lt;br /&gt;
'''''OBSERVACIÓN''''': El método de Euler necesita un paso de tiempo del orden de &amp;lt;math&amp;gt;\frac{h^2}{2}&amp;lt;/math&amp;gt; para ser estable, siendo \(h\) el paso espacial.&lt;br /&gt;
=== Euler explicito ===&lt;br /&gt;
&lt;br /&gt;
Resolvemos el sistema de ecuaciones diferenciales esta vez utilizando el método de Euler explícito, con las mismas condiciones que en el método de las diferencias finitas y del trapecio.&lt;br /&gt;
&lt;br /&gt;
El código MATLAB utilizado es el siguiente:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler explicito &lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
%Valores iniciales&lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para conseguir estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Image:eexplicito.jpg|500px|thumb|centro|Euler explícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como podemos observar, la temperatura es máxima entre los radios 2 y 5 en el instante inicial. A partir de ese momento a medida que avanzan los segundos la temperatura desciende debido a la tendencia natural de la placa a estabilizarse, de manera que el calor se transmite desde las zonas de mayor temperatura a las de menor, hasta alcanzar una temperatura homogénea.&lt;br /&gt;
&lt;br /&gt;
===Euler implícito===&lt;br /&gt;
&lt;br /&gt;
Realizamos el mismo ejercicio con el método de Euler implícito utilizando el siguiente código MATLAB:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%euler implicito (incondicionalmente estable)&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
%Valores iniciales&lt;br /&gt;
U1 = 100*(xx1-1);&lt;br /&gt;
U2 =100*ones(size(xx2)); &lt;br /&gt;
U3 =((90*(6-xx3))+10);&lt;br /&gt;
%Discretizacion de t&lt;br /&gt;
j= 0.5*h^2;  &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3];&lt;br /&gt;
sol(1,:)=[0,U,10];&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U=(eye(N-1)+j*K)\(U+F');&lt;br /&gt;
 sol(k,:)=[0,U',10]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:eimplicito.jpg|500px|thumb|centro|Euler Implícito]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este gráfico se observa lo mismo que lo dicho en el gráfico anterior. La única diferencia es el método utilizado para conseguirlo, es decir en el código MATLAB utilizado. Las conclusiones que se pueden deducir son las mismas que con el método de Euler explícito.&lt;br /&gt;
&lt;br /&gt;
== Variación de la temperatura para tiempos grandes==&lt;br /&gt;
=== Solución Analítica===&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \( u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u(6,t)=10 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resolvemos la ecuación del calor en la placa y representamos la solución imponiendo diferentes intervalos de tiempo[10,100,1000].&lt;br /&gt;
El programa de representación es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
N=10;&lt;br /&gt;
M=10;&lt;br /&gt;
a=1; b=6;&lt;br /&gt;
h=(b-a)/500;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
T=1;&lt;br /&gt;
k=T/100;&lt;br /&gt;
for m=1:N&lt;br /&gt;
u=x.*0;&lt;br /&gt;
for n=1:M&lt;br /&gt;
v=(.2*x)-.2;&lt;br /&gt;
n1=2*(n-1)+1;&lt;br /&gt;
fac=((-230-(2.5*(-1)^n1))/(n1*pi))*(exp(-((n1^2)*(pi^2)*(m-1)*k)));&lt;br /&gt;
q=sin(n1*pi*x);&lt;br /&gt;
u=u+(v+(fac*q));&lt;br /&gt;
end&lt;br /&gt;
hold on &lt;br /&gt;
plot(x,u)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Podemos ver en las siguientes gráficas, representando la solución para t=10, 100 y 1000 segundos, cómo la temperatura tiende a estabilizarse a un valor estacionario para cada punto. Se establece un incremento de temperatura lineal, en la dirección del radio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:K12=1.png|500px|thumb|centre|Solución analítica para un t=1 seg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:K12=10.png|500px|thumb|centre|Solución analítica para un t=10 seg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variacion de las condiciones de frontera ==&lt;br /&gt;
&lt;br /&gt;
Ahora colocamos en la frontera exterior de la placa (\(\rho=6\)) una pieza aislante (en lugar de un objeto con temperatura constante 10). El aislante hace que no haya pérdida de calor en ese extremo, es decir, el flujo de temperatura en la dirección radial es nulo, no entra ni sale calor en ese extremo de la placa. El valor estacionario de la temperatura de la placa será 0ºC. La temperatura tarda en alcanzar el estado estacionario XXXXXXX con un error del 5%.&lt;br /&gt;
&lt;br /&gt;
El sistema en este caso es análogo al anterior. La diferencia que se impone es que el flujo de calor en la direccion radial sea nulo en la placa (condición de Neumann).&lt;br /&gt;
&lt;br /&gt;
El sistema de ecuaciones que satisface \(u = u(\rho,t)\) es el siguiente:&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (1,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(1,t)=0 &amp;amp; u_x(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all &lt;br /&gt;
h=0.1; &lt;br /&gt;
a=1; b=2; c=5; d=6;&lt;br /&gt;
N=(d-a)/h;&lt;br /&gt;
x=a:h:d;&lt;br /&gt;
K=(2*diag(ones(1,N-1))-diag(ones(1,N-2),-1) -diag(ones(1,N-2),1));&lt;br /&gt;
K(N-1,N-1)=2/3; &lt;br /&gt;
K(N-1,N-2)=-2/3; &lt;br /&gt;
K=1/h^2*K;&lt;br /&gt;
xx=x(2:N)&lt;br /&gt;
F=0*xx; &lt;br /&gt;
xx1=x(2:10);&lt;br /&gt;
xx2=x(11:41);&lt;br /&gt;
xx3=x(42:50);&lt;br /&gt;
U1 = 100*(xx1-1)&lt;br /&gt;
U2 =100*ones(size(xx2)) %valor inicial &lt;br /&gt;
U3 =((90*(6-xx3))+10)&lt;br /&gt;
j= 0.5*h^2; % paso en t. Menor h2 para estabilidad con Euler. &lt;br /&gt;
t=0:j:10; &lt;br /&gt;
M=length(t); %número de puntos de t &lt;br /&gt;
U=[U1,U2,U3]&lt;br /&gt;
sol(1,:)=[0,U,((-U(4)+U(5))/3)]&lt;br /&gt;
U=U'; &lt;br /&gt;
for k=2:M&lt;br /&gt;
 U= U + j*(-K*U +F'); &lt;br /&gt;
 sol(k,:)=[0,U',((-U(4)+U(5))/3)]; &lt;br /&gt;
end&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
mesh(Mx,Mt,sol)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Image:GRAFICA6.png|500px|thumb|center|Gráfica que describe el comportamiento de la temperatura a lo largo del tiempo según el radio, de acuerdo a las condiciones del enunciado. ]]&lt;br /&gt;
&lt;br /&gt;
== Transformación del problema en disco ==&lt;br /&gt;
[[Image:PlacaDisco.png|300px|thumb|right|Disco circular de radio \(\rho&amp;lt;6\)]]&lt;br /&gt;
Considerando que la placa ocupa todo el disco \(\rho&amp;lt;6\), aproximaremos las soluciones usando el método de Fourier. De nuevo, la solución dependerá sólo de \(\rho\) y \(t\), y tomaremos ahora como condición frontera \(u(6,t) = 0\).&lt;br /&gt;
\[&lt;br /&gt;
&lt;br /&gt;
 \begin{array}{c} u_t - u_{\rho\rho} =0 &amp;amp;  \rho \in (0,6)&amp;amp; t&amp;gt;0 \end{array}\\&lt;br /&gt;
\\  \begin{array}{c} \\\\u(0,t)=0 &amp;amp; u(6,t)=0 &amp;amp; t&amp;gt;0 \end{array}\\\\&lt;br /&gt;
\\ \begin{array}{c}\\ \\u(\rho,0)=\begin{cases} 100(\rho - 1) &amp;amp; \text{ si }  \rho   \in (1,2) \\ 100 &amp;amp; \text{ si } \rho \in (2,5) \\ 90(6-\rho)+10 &amp;amp; \text{ si }  \rho \in (5,6) \end{cases} \end{array}&lt;br /&gt;
&lt;br /&gt;
\]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problema de autovalores ===&lt;br /&gt;
=== Función de Bessel ===&lt;br /&gt;
Mediante la &lt;br /&gt;
=== Aproximación de la solución ===&lt;/div&gt;</summary>
		<author><name>AlbertoRF</name></author>	</entry>

	</feed>