<?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=Jose.martinez.montalvo</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=Jose.martinez.montalvo"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Jose.martinez.montalvo"/>
		<updated>2026-04-23T07:48:58Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30039</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30039"/>
				<updated>2015-05-14T14:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Euler implícito */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapecio_1.jpg|marco|centro|Resolución del sistema de difusión de una sustancia contaminante por el método del trapecio.]]&lt;br /&gt;
&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eexplicito_1.jpg|marco|centro|Resolución del sistema de difusión de una sustancia contaminante por el método del trapecio.]]&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Hasta length(t)-1 porque ya tenemos el valor para t=0&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eimplicito.jpg|marco|centro|Resolución del sistema de difusión de una sustancia contaminante por el método del trapecio.]]&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{49}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/7)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{7} u_0cos(kπ/7)x\, dx}{\displaystyle\int_{0}^{7} cos^2(kπ/7)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/7)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método de Fourier con '''1,3,5 y 10 términos de la serie''' sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion del difusion con el metodo de Fourier&lt;br /&gt;
% u_t-u_xx=0&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=0.5;&lt;br /&gt;
% Datos de la aproximacion&lt;br /&gt;
Q=1; % Numero de coeficientes de Fourier&lt;br /&gt;
N=50; % Numero de intervalos en x&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Calculamos la aproximacion&lt;br /&gt;
sol=zeros(length(t),N+1);&lt;br /&gt;
u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)];&lt;br /&gt;
for k=0:1&lt;br /&gt;
phi=cos((k*pi/5)*x);&lt;br /&gt;
a=(trapz(x,u0.*phi))/(trapz(x,phi.^2));&lt;br /&gt;
T=a*exp(-(k^2)*(pi^2)*1/25*t);&lt;br /&gt;
sol=sol+T'*phi;&lt;br /&gt;
end&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
subplot(2,2,1);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
for k=0:3&lt;br /&gt;
phi=cos((k*pi/5)*x);&lt;br /&gt;
a=(trapz(x,u0.*phi))/(trapz(x,phi.^2));&lt;br /&gt;
T=a*exp(-(k^2)*(pi^2)*1/25*t);&lt;br /&gt;
sol=sol+T'*phi;&lt;br /&gt;
end&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
subplot(2,2,2);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for k=0:5&lt;br /&gt;
phi=cos((k*pi/5)*x);&lt;br /&gt;
a=(trapz(x,u0.*phi))/(trapz(x,phi.^2));&lt;br /&gt;
T=a*exp(-(k^2)*(pi^2)*1/25*t);&lt;br /&gt;
sol=sol+T'*phi;&lt;br /&gt;
end&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
subplot(2,2,3);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
&lt;br /&gt;
for k=0:10&lt;br /&gt;
phi=cos((k*pi/5)*x);&lt;br /&gt;
a=(trapz(x,u0.*phi))/(trapz(x,phi.^2));&lt;br /&gt;
T=a*exp(-(k^2)*(pi^2)*1/25*t);&lt;br /&gt;
sol=sol+T'*phi;&lt;br /&gt;
end&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
subplot(2,2,4);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Las gráficas obtenidas serían:&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método de Fourier con '''20 términos de la serie''' sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion del difusion con el metodo de Fourier&lt;br /&gt;
% u_t-u_xx=0&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=0.5;&lt;br /&gt;
% Datos de la aproximacion&lt;br /&gt;
Q=20; % Numero de coeficientes de Fourier&lt;br /&gt;
N=50; % Numero de intervalos en x&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Calculamos la aproximacion&lt;br /&gt;
sol=zeros(length(t),N+1);&lt;br /&gt;
u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)];&lt;br /&gt;
for k=0:Q&lt;br /&gt;
phi=cos((k*pi/5)*x);&lt;br /&gt;
a=(trapz(x,u0.*phi))/(trapz(x,phi.^2));&lt;br /&gt;
T=a*exp(-(k^2)*(pi^2)*1/25*t);&lt;br /&gt;
sol=sol+T'*phi;&lt;br /&gt;
end&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y su gráfica correspondiente:&lt;br /&gt;
&lt;br /&gt;
Si cambiamos el valor de T=0.5 por T=5, podemos comprobar que la gráfica obtenida por Fourier es la misma que las que obteníamos por el método de diferencias finitas.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann para t&amp;lt;=1&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet para t&amp;gt;1&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores&lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K para t&amp;lt;=1&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
% Matriz K para t&amp;gt;1&lt;br /&gt;
K2=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K2(N,N-1)=-2;&lt;br /&gt;
K2=K2/h^2;&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
F2=zeros(N,1);&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:((length(t)-1)/7) &lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
U(1)=[];&lt;br /&gt;
for j=((length(t)-1)/7):length(t)-1 &lt;br /&gt;
U=(eye(N)+dt*K2)\(U+dt*F2); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= [0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30036</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30036"/>
				<updated>2015-05-14T14:10:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Euler explícito */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapecio_1.jpg|marco|centro|Resolución del sistema de difusión de una sustancia contaminante por el método del trapecio.]]&lt;br /&gt;
&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eexplicito_1.jpg|marco|centro|Resolución del sistema de difusión de una sustancia contaminante por el método del trapecio.]]&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Hasta length(t)-1 porque ya tenemos el valor para t=0&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{49}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/7)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{7} u_0cos(kπ/7)x\, dx}{\displaystyle\int_{0}^{7} cos^2(kπ/7)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/7)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann para t&amp;lt;=1&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet para t&amp;gt;1&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores&lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K para t&amp;lt;=1&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
% Matriz K para t&amp;gt;1&lt;br /&gt;
K2=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K2(N,N-1)=-2;&lt;br /&gt;
K2=K2/h^2;&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
F2=zeros(N,1);&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:((length(t)-1)/7) &lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
U(1)=[];&lt;br /&gt;
for j=((length(t)-1)/7):length(t)-1 &lt;br /&gt;
U=(eye(N)+dt*K2)\(U+dt*F2); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= [0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30035</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30035"/>
				<updated>2015-05-14T14:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Trapecio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapecio_1.jpg|marco|centro|Resolución del sistema de difusión de una sustancia contaminante por el método del trapecio.]]&lt;br /&gt;
&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Hasta length(t)-1 porque ya tenemos el valor para t=0&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{49}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/7)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{7} u_0cos(kπ/7)x\, dx}{\displaystyle\int_{0}^{7} cos^2(kπ/7)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/7)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann para t&amp;lt;=1&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet para t&amp;gt;1&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores&lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K para t&amp;lt;=1&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
% Matriz K para t&amp;gt;1&lt;br /&gt;
K2=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K2(N,N-1)=-2;&lt;br /&gt;
K2=K2/h^2;&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
F2=zeros(N,1);&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:((length(t)-1)/7) &lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
U(1)=[];&lt;br /&gt;
for j=((length(t)-1)/7):length(t)-1 &lt;br /&gt;
U=(eye(N)+dt*K2)\(U+dt*F2); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= [0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30032</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30032"/>
				<updated>2015-05-14T14:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Condición limpiador */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Hasta length(t)-1 porque ya tenemos el valor para t=0&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{49}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/7)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{7} u_0cos(kπ/7)x\, dx}{\displaystyle\int_{0}^{7} cos^2(kπ/7)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/7)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann para t&amp;lt;=1&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet para t&amp;gt;1&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores&lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K para t&amp;lt;=1&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
% Matriz K para t&amp;gt;1&lt;br /&gt;
K2=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K2(N,N-1)=-2;&lt;br /&gt;
K2=K2/h^2;&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
F2=zeros(N,1);&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:((length(t)-1)/7) &lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
U(1)=[];&lt;br /&gt;
for j=((length(t)-1)/7):length(t)-1 &lt;br /&gt;
U=(eye(N)+dt*K2)\(U+dt*F2); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= [0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30030</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30030"/>
				<updated>2015-05-14T14:05:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Euler implícito */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Hasta length(t)-1 porque ya tenemos el valor para t=0&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % Euler Implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{49}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/7)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{7} u_0cos(kπ/7)x\, dx}{\displaystyle\int_{0}^{7} cos^2(kπ/7)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/7)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30029</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30029"/>
				<updated>2015-05-14T14:04:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Euler explícito */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo de Euler implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{49}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/7)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{7} u_0cos(kπ/7)x\, dx}{\displaystyle\int_{0}^{7} cos^2(kπ/7)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/7)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Eimplicito_1.jpg&amp;diff=30024</id>
		<title>Archivo:Eimplicito 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Eimplicito_1.jpg&amp;diff=30024"/>
				<updated>2015-05-14T13:59:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Eexplicito_1.jpg&amp;diff=30023</id>
		<title>Archivo:Eexplicito 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Eexplicito_1.jpg&amp;diff=30023"/>
				<updated>2015-05-14T13:58:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Limpiador_1.jpg&amp;diff=30020</id>
		<title>Archivo:Limpiador 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Limpiador_1.jpg&amp;diff=30020"/>
				<updated>2015-05-14T13:57:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Trapecio_1.jpg&amp;diff=30017</id>
		<title>Archivo:Trapecio 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Trapecio_1.jpg&amp;diff=30017"/>
				<updated>2015-05-14T13:52:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: Gráfico concentración espacio/tiempo.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gráfico concentración espacio/tiempo.&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30015</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30015"/>
				<updated>2015-05-14T13:48:05Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
&lt;br /&gt;
% Discretizacion temporal&lt;br /&gt;
dt=h/4; % Tamaño de paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
&lt;br /&gt;
% Matriz K&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
K(1,2)=-2; % Condicion Neumann&lt;br /&gt;
K(N+1,N)=-2; % Condicion Neumann&lt;br /&gt;
K=q*K/h^2;&lt;br /&gt;
&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
&lt;br /&gt;
% Calculamos u0&lt;br /&gt;
u0=[zeros(1,1+N*5/7),3*ones(1,N*2/7)]';&lt;br /&gt;
% Guardamos la solucion para t=0 en la matriz solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
&lt;br /&gt;
% Calculamos U_n+1 a partir de U_n con un bucle for&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de la difusión de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso para euler explicito&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo de Euler implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\x''+μx=0 ,x\in\ (0,7)\\x'(0)=0\\x'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{25}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/5)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{5} u_0cos(kπ/5)x\, dx}{\displaystyle\int_{0}^{5} cos^2(kπ/5)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/5)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30008</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=30008"/>
				<updated>2015-05-14T13:30:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Conservación de la masa contaminante */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Conservación_masa_total_contaminante.png ‎|marco|centro|Conservación masa total de contaminante.]]&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de la difusión de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso para euler explicito&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo de Euler implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\y''+μy=0 ,x\in\ (0,7)\\y'(0)=0\\y'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{25}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/5)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{5} u_0cos(kπ/5)x\, dx}{\displaystyle\int_{0}^{5} cos^2(kπ/5)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/5)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29985</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29985"/>
				<updated>2015-05-14T12:54:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
gráfica del comportamiento de la concentración a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de la difusión de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso para euler explicito&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo de Euler implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\y''+μy=0 ,x\in\ (0,7)\\y'(0)=0\\y'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{25}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/5)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{5} u_0cos(kπ/5)x\, dx}{\displaystyle\int_{0}^{5} cos^2(kπ/5)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/5)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29978</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29978"/>
				<updated>2015-05-14T12:38:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Deducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea un tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
A partir de la ecuación u(x,t)se deduce que la masa total del contaminante se conserva a lo largo del tiempo.Para ello se integra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{d}{dt}\displaystyle\int_{0}^{L}u(x,t)\,dx=\displaystyle\int_{0}^{L}u_{xx}(x,t)\,dx=u_x(x,t)|_0^L=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de la difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=500;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
areas=zeros(1,length(t));&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
aa=trapz(x,f);&lt;br /&gt;
area(i)=aa;&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos la cantidad de contaminante a lo largo del tiempo&lt;br /&gt;
plot(t,area)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Cantidad de contaminante')&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En la gráfica obtenida se observa cómo la masa total de contaminante se conserva a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
gráfica del comportamiento de la concentración a lo largo del tiempo&lt;br /&gt;
&lt;br /&gt;
Se calcula la distancia entre la solución estacionaria y la solución u(x,t) para t=0,1,2,10:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
dist0=(sqrt(sum((sol(1,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist1=(sqrt(sum((sol(41,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist2=(sqrt(sum((sol(81,:)-1.17).^2)/(N+1)))&lt;br /&gt;
dist10=(sqrt(sum((sol(401,:)-1.17).^2)/(N+1)))&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
De donde se obtiene:&lt;br /&gt;
&lt;br /&gt;
vamos a calcular la media cuadrática de las distancias desde cada punto de la función al estado estacionario para averiguar el tiempo que tarda la concentración en alcanzar el estado estacionario con un error del 5%:&lt;br /&gt;
&lt;br /&gt;
La media cuadrática para N valores &amp;lt;math&amp;gt;[x_1,x_2,x_3,...,x_N]&amp;lt;/math&amp;gt; de una variable discreta x viene dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;x=\sqrt{\mathstrut \frac{1}{N}\sum_{k=1}^N}x_k^2=(\frac{x_1^2+x_2^2+...+x_N^2}{N})^{1/2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 para cada tiempo t tenemos:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=10;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum((sol(i,:)-1.17).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se obtiene un tiempo de ..... segundos.&lt;br /&gt;
&lt;br /&gt;
Al dividir &amp;quot;incremento de x&amp;quot; por 10 (usando N=500) sale un tiempo de ...... segundos.&lt;br /&gt;
&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
Se resuelve el sistema en primer lugar utilizando el '''método del trapecio''' tomando &amp;lt;math&amp;gt;\triangle t= \triangle x/4&amp;lt;/math&amp;gt; en &amp;lt;math&amp;gt;t\in\ [0,7]&amp;lt;/math&amp;gt;, con &amp;lt;math&amp;gt;\triangle x=0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+(dt*K)/2)\((eye(N+1)-(K*dt)/2)*U); % Trapecio&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de la difusión de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2; &lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso para euler explicito&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=U-dt*K*U; % metodo explicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/4; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N+1)+dt*K)\(U+dt*F); % metodo de Euler implicito&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Se obtiene la siguiente gráfica concentración / espacio-tiempo:&lt;br /&gt;
&lt;br /&gt;
====Heun====&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-qu_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0 Condicion Neumann&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=7;&lt;br /&gt;
T=7;&lt;br /&gt;
q=1;&lt;br /&gt;
% Datos de la discretizacion espacial&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
% Vector de nodos en en espacio&lt;br /&gt;
x=0:h:L; &lt;br /&gt;
% Aproximacion de -q*u_xx&lt;br /&gt;
K=2*diag(ones(1,N+1))-diag(ones(1,N),1)-diag(ones(1,N),-1);&lt;br /&gt;
 K(1,2)=-2;&lt;br /&gt;
 K(N+1,N)=-2;&lt;br /&gt;
 K=q*K/h^2;&lt;br /&gt;
 % Calculamos u0&lt;br /&gt;
 u0=[zeros(1,1+N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
 % Discretizacion temporal&lt;br /&gt;
dt=h/20; % Paso&lt;br /&gt;
t=0:dt:T; % Vector de tiempos&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N+1,1); &lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=u0'; &lt;br /&gt;
U=u0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % Voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
% Calculamos k1=h*f(tn,yn)&lt;br /&gt;
k1=-K*U;&lt;br /&gt;
% Calculamos k2=h*f(tn+h/2,yn+1/2*k1)&lt;br /&gt;
k2=-K*(U+dt*k1);&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
U=U+(dt/2)*(k1+k2);&lt;br /&gt;
sol(j+1,:)= U'; % Guardamos solucion&lt;br /&gt;
end&lt;br /&gt;
 % Dibujamos la solucion&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica concentración / espacio-tiempo obtenida es:&lt;br /&gt;
&lt;br /&gt;
El método más preciso es el de Euler Implícito como se demuestra gráficamente y el menos el de Heun&lt;br /&gt;
&lt;br /&gt;
las cuatro gráficas que se han mostrado son todas muy parecidas y solo varia la precisiòn de la curva&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
El método de Fourier nos proporciona, al igual que el método de diferencias finitas, una aproximación de la solución del problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuyas condiciones iniciales son:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que se trata de un sistema con condiciones de frontera homogéneas, el problema de autovalores asociado es:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(PA)\left\{\begin{matrix}\\y''+μy=0 ,x\in\ (0,7)\\y'(0)=0\\y'(7)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y los autovalores y autofunciones salvo una constante son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=\frac{\pi^2k^2}{25}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos(kπ/5)x&amp;lt;/math&amp;gt;  k=0,1,2,3...&lt;br /&gt;
&lt;br /&gt;
Se aproxima el dato inicial y el segundo miembro, se elige Q y se toma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q c_kφ_k(x)=0&amp;lt;/math&amp;gt;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle\sum_{k=0}^Q a_kφ_k(x)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
donde se deduce que '''c&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;=0''' y &amp;lt;math&amp;gt;a_k=\frac{\displaystyle\int_{0}^{5} u_0cos(kπ/5)x\, dx}{\displaystyle\int_{0}^{5} cos^2(kπ/5)x\, dx}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema aproximado queda de la forma:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0=\displaystyle\sum_{k=0}^Q a_kφ_k(x), x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada sería:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q T_k(t)φ_k(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sustituyendo en la ecuación de difusión de una sustancia contaminante e igualando los coeficicientes de Fourier se obtiene el sistema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix}\\T'_k(t)+μ_kT_k(t)=c_k=0\\T_k(0)=a_k\end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviendo el problema de valor inicial, se deduce que &amp;lt;math&amp;gt; T_k(t)=Ce^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución aproximada queda de la forma &amp;lt;math&amp;gt;u(x,t)=\displaystyle\sum_{k=0}^Q Ce^{-μ_k t} cos(kπ/5)x&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El valor de la constante C depende de la condición inicial,que es la que condiciona el valor de a&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
Pasado un tiempo T = 1, colocamos en el extremo izquierdo un limpiador que elimina el contaminante&lt;br /&gt;
en ese extremo izquierdo, lo que modifica las condiciones de frontera del problema provocando que una condición de frontera tipo Neumann se convierta en una condición tipo Dirichlet, obteniendo el siguiente sistema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u(0,t)=0, t&amp;gt;0\\u_x(7,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suponiendo que en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se comprueba que está bien propuesto analizando la existencia de solución, la unicidad de ésta y su estabilidad,&lt;br /&gt;
&lt;br /&gt;
Obtenemos una aproximación numérica de la solución utilizando el '''método de diferencias finitas'''. &lt;br /&gt;
&lt;br /&gt;
El código en MATLAB del método sería:&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]=meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,sol);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La gráfica obtenida sería:&lt;br /&gt;
&lt;br /&gt;
El valor estacionario de la concentración en el tubo será de cero, debido a que se ha colocado un limpiador en uno de sus extremos que irá eliminando el contaminante.&lt;br /&gt;
&lt;br /&gt;
Para averiguar el tiempo que tarda la concentración en alcanzar este otro estado estacionario con un error del 5% vamos a utilizar 2 métodos distintos.&lt;br /&gt;
Primero vamos a calcular el tiempo que tarda la cantidad de contaminante en reducirse hasta el 5%, y después calculando la media cuadrática igual que hemos hecho en el apartado anterior.&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=40;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*5.85;&lt;br /&gt;
% Calculamos el area de la funcion en cada tiempo (area = cantidad de contaminante)&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
f=sol(i,:);&lt;br /&gt;
area=trapz(x,f);&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
if area&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la primera forma se obtiene un tiempo de 32.225&lt;br /&gt;
&lt;br /&gt;
{{matlab| codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Aproximar la ecuacion de difusion&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0 Condicion Dirichlet&lt;br /&gt;
% u_x(L,t)=0 Condicion Neumann&lt;br /&gt;
% u(x,0)=u0(x)&lt;br /&gt;
%%%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=80;&lt;br /&gt;
% Datos de la discretizacion&lt;br /&gt;
N=50;&lt;br /&gt;
h=L/N;&lt;br /&gt;
x=0:h:L; % Vector de nodos&lt;br /&gt;
xint=h:h:L; % Vector de nodos interiores &lt;br /&gt;
% Discretizacion temporal. &lt;br /&gt;
dt=h/4; &lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
% Aproximacion de -*u_xx&lt;br /&gt;
K=2*diag(ones(1,N))-diag(ones(1,N-1),1)-diag(ones(1,N-1),-1);&lt;br /&gt;
K(N,N-1)=-2;&lt;br /&gt;
K=K/h^2;&lt;br /&gt;
% Calculamos U0 (condicion en el instante 0)&lt;br /&gt;
U0=[zeros(1,N*3/5),3*ones(1,N*2/5)]';&lt;br /&gt;
% Definimos F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
% Guardamos la solucion&lt;br /&gt;
sol(1,:)=[0,U0']; &lt;br /&gt;
U=U0; % Inicializacion&lt;br /&gt;
% Calculamos U_n ----&amp;gt; U_n+1&lt;br /&gt;
for j=1:length(t)-1 % voy hasta la longitud de t menos 1 porque ya conozco un valor&lt;br /&gt;
U=(eye(N)+dt*K)\(U+dt*F);&lt;br /&gt;
sol(j+1,:)=[0,U']; % Guardamos la solucion&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Calculamos cual es el error del 5%&lt;br /&gt;
limite=0.05*1.17;&lt;br /&gt;
% Buscamos para que tiempo se alcanza ese valor&lt;br /&gt;
for i=1:length(t)&lt;br /&gt;
dist=(sqrt(sum(sol(i,:).^2)/(N+1)));&lt;br /&gt;
if dist&amp;lt;limite&lt;br /&gt;
tiempo=(i-1)*dt&lt;br /&gt;
break&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
De la segunda forma se obtiene un tiempo de 33.275&lt;br /&gt;
&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29898</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29898"/>
				<updated>2015-05-14T09:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
Se trata de un método numérico que nos proporciona una solución aproximada de distintos problemas de ecuaciones en derivadas parciales, aplicable a nuestro caso.&lt;br /&gt;
Primero realizamos una discretización del espacio, tomando como longitud de paso h y desde x=0 hasta x=7, obteniendo un vector N con x+1 elementos.&lt;br /&gt;
&lt;br /&gt;
Seguidamente aplicamos la ecuacion diferencial a cada nodo interior xn, aproximamos u&amp;lt;sub&amp;gt;xx&amp;lt;/sub&amp;gt; mediante:&lt;br /&gt;
&amp;lt;math&amp;gt;u_{xx}(x,t)\simeq\frac{u(x_{n-1},t)-2u(x_n,t)+u(x_{n+1},t)}{h^2}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos la notación &amp;lt;math&amp;gt; u_n(t) = u(x_n,t)&amp;lt;/math&amp;gt; resulta el sistema de N-1 ecuaciones:&lt;br /&gt;
\begin{array}{c}u'_n(t)+\frac{-u_{n-1}(t)+2u_n(t)-u_{n+1}(t)}{h^2}=0\end{array}&lt;br /&gt;
para n=1,2...N-1&lt;br /&gt;
&lt;br /&gt;
Aplicamos las condiciones de contorno:&lt;br /&gt;
&lt;br /&gt;
\begin{array}{c}u'_0(t)=0\\u'_n(t)=0\end{array}&lt;br /&gt;
Resultando el sistema:&lt;br /&gt;
\begin{array}{c}U'+KU=0=F\\U(0)=U^0\end{array}&lt;br /&gt;
&lt;br /&gt;
Siendo &amp;lt;math&amp;gt;U^0&amp;lt;/math&amp;gt; las condiciones iniciales &lt;br /&gt;
en el instante inicial se verifica  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29893</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29893"/>
				<updated>2015-05-14T08:42:56Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Modelización */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
El problema modeliza el proceso de difusión de una sustancia contaminante a lo largo de un tubo de longitud x=7, delgado, difusor, con superficie lateral aislada y con coeficiente de difusión D igual a 1.&lt;br /&gt;
&lt;br /&gt;
En los puntos interiores del tubo no existentes ni fuentes ni sumideros de sustancia contaminante.&lt;br /&gt;
&lt;br /&gt;
Tanto el extremo izquierdo como el extremo derecho del tubo se encuentran aislados de forma que el flujo de sustancia en ellos es igual a 0.&lt;br /&gt;
&lt;br /&gt;
En el instante inicial, las secciones transversales que distan 5 o menos unidades de longitud del extremo izquierdo tendrán una concentración inicial de sustancia contaminante igual a 0. Las secciones que distan mas de 5 unidades de ese extremo tendrán una concentración de contaminante igual a 3.&lt;br /&gt;
&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29892</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29892"/>
				<updated>2015-05-14T08:32:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Sistema de ecuaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sean las condiciones iniciales:  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29891</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29891"/>
				<updated>2015-05-14T08:32:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Sistema de ecuaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con condiciónes iniciales  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a su interpretación física.&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29890</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29890"/>
				<updated>2015-05-14T08:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Sistema de ecuaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con condiciónes iniciales  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pasamos a interpretarlo físicamente:&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29889</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29889"/>
				<updated>2015-05-14T08:30:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Sistema de ecuaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
Sea el problema:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
(P)\left\{\begin{matrix}\\u_t-u_{xx}=0 ,x\in\ (0,7), t&amp;gt;0\\u_x(0,t)=0, t&amp;gt;0\\u_x(5,t)=0, t&amp;gt;0\\u(x,0)=u_0, x\in\ (0,7)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con condiciónes iniciales  :&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0, x≤5\\3, x&amp;gt;5\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29888</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29888"/>
				<updated>2015-05-14T08:24:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Deducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo anteriormente citada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29887</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29887"/>
				<updated>2015-05-14T08:24:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Deducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiéndose como la cantidad de contaminante que atraviesa una sección transversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganancias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
De esta forma y continuando con la semejanza a la transmisión de calor, la concentración de sustancia contaminante en un instante de tiempo t y en una sección transversal que dista x unidades del extremo izquierdo del tubo satisfará:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_{xx}(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Pasando todo al termino de la izquierda obtendremos '''la ecuación de difusión''':&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_{xx}(x,t)= 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dónde D es el coeficiente de difusión anteriormente citado.&lt;br /&gt;
&lt;br /&gt;
Para ello hemos definido &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; como la variable de superficie, tomando una sección pequeña del tubo, designada por &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt;:&lt;br /&gt;
La variación de la concentración de contaminante en función del tiempo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u(x,t) \Delta x &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Derivamos respecto del tiempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; A u_t(x,t) \Delta x &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, se considera nula la concentración de contaminante generada en el interior por unidad de tiempo debido a la ausencia de sumideros.&lt;br /&gt;
&lt;br /&gt;
Suponemos que Δx&amp;gt;0 y la concentración de contaminante en un tiempo t es menor en x+ Δx que en x, entonces u(x+ Δx) – u(x,t) &amp;lt; 0, y como Δx  es pequeño, se tiene que ux(x,t)&amp;lt;0 y el flujo de difusión del contaminante es positivo y va hacia la derecha en la dirección del eje x.&lt;br /&gt;
 &lt;br /&gt;
El ﬂujo de calor en un intervalo &amp;lt;math&amp;gt;[x, x + ∆x ] &amp;lt;/math&amp;gt; viene dado dado por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Igualando los términos anteriores y dividiendo por &amp;lt;math&amp;gt;A \Delta x&amp;lt;/math&amp;gt; se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;A u_t(x,t) \Delta x = F(x,t)A-F(x+\Delta x, t)A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= \frac {F(x,t)-F(x+\Delta x, t)}{\Delta x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo que &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; tienda a 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)= -F_x(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y aplicando la ley de Fick:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)=-\frac{\partial }{\partial x}(-D u_x(x,t)) = D u_xx(x,t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Así se obtiene la ecuación de difusión de la sustancia contaminante a lo largo del tubo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_t(x,t)- D u_xx(x,t)= 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29885</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29885"/>
				<updated>2015-05-14T08:10:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Deducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
Sea tubo largo de longitud L, orientado en la dirección x y cuya sección es constante desde x=0 hasta x=L. Supondremos el tubo aislado tanto superficialmente como lateralmente. &lt;br /&gt;
[[Archivo:Enunciado.png ‎|marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo.]]&lt;br /&gt;
&lt;br /&gt;
Sean dos sustancias contenidas en el tubo, una de ellas contaminante. Denotaremos por u(x,t) la concentración de contaminante, la cual dependerá únicamente de la posición del tubo y del tiempo, manteniéndose constante en cada sección transversal del tubo. Medido en  mol/m2s.&lt;br /&gt;
&lt;br /&gt;
Sea F(x,t) el flujo de contaminante (análogo al flujo de calor), definiendose como la cantidad de contaminante que atraviesa una seccion tranversal por unidad de tiempo y area, dependiendo del número de moles, siendo éste último proporcional a la masa de la sustancia. Debido a los aislantes laterales y superficiales, el flujo sera a lo largo del eje x.&lt;br /&gt;
&lt;br /&gt;
Debido al principio de conservación de la masa la variación de la concentración de contaminante en cada posición del tubo en función del tiempo, es igual a la suma del flujo de contaminante a través de los extremos del tubo por unidad de tiempo, más la concentración de contaminante generada en el interior por unidad de tiempo. Suponemos igual a 0 las perdidas y/o ganacias en el interior del tubo (problema homogéneo).&lt;br /&gt;
La ley de Flick (similar a Furier) determina que el flujo de difusión del contaminante es proporcional a la variación de concentración:&lt;br /&gt;
&amp;lt;math&amp;gt;F(x,t)=-D\frac{\partial u}{\partial x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
siendo D el coeficiente de difusión (medido en m2/s), que dependerá de las propiedades químicas de los compuestos.&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29883</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29883"/>
				<updated>2015-05-14T07:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
El trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. &lt;br /&gt;
&lt;br /&gt;
Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase.&lt;br /&gt;
&lt;br /&gt;
Analizaremos el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29882</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29882"/>
				<updated>2015-05-14T07:42:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
EL trabajo tiene como objetivo el estudio de la mezcla de dos sustancias, una de ellas contaminante, en un tubo largo. Su planteamiento se realizará de forma similar al de la transmisión de calor a lo largo de una varilla, visto en clase. Trataremos de analizar el modelo que define nuestro problema (ecuación de difusión), varios puntos teóricos del mismo (la conservación de la masa contaminante, la solución estacionaria) y terminar por plantear un problema concreto el cual resolveremos mediante métodos numéricos, modificando según que condiciones para poder interpretar las distintas situaciones que pueden modelizar nuestro problema.&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29807</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29807"/>
				<updated>2015-05-13T16:00:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
=Introducción=&lt;br /&gt;
=Ecuación de difusión=&lt;br /&gt;
==Deducción==&lt;br /&gt;
==Conservación de la masa contaminante==&lt;br /&gt;
=Problema Propuesto=&lt;br /&gt;
==Sistema de ecuaciones==&lt;br /&gt;
==Modelización==&lt;br /&gt;
==Resolución==&lt;br /&gt;
===Método diferencias finitas===&lt;br /&gt;
====Trapecio====&lt;br /&gt;
====Euler explícito====&lt;br /&gt;
====Euler implícito====&lt;br /&gt;
====Heun====&lt;br /&gt;
===Método de Furier===&lt;br /&gt;
==Solución estacionaria==&lt;br /&gt;
==Variación de las condiciones de frontera==&lt;br /&gt;
===Condición limpiador===&lt;br /&gt;
===Condiciones tipo Newman===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29775</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29775"/>
				<updated>2015-05-13T14:13:34Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29774</id>
		<title>Difusión de una sustancia contaminante (Grupo 24C)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_una_sustancia_contaminante_(Grupo_24C)&amp;diff=29774"/>
				<updated>2015-05-13T14:10:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: Página creada con «{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | Ecuaciones Diferenciales|Curso 2014-15...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Daniel Pascual Cobos 1690&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Grupo_C2&amp;diff=29771</id>
		<title>Ecuación de ondas. Grupo C2</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Grupo_C2&amp;diff=29771"/>
				<updated>2015-05-13T08:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Cambio de condiciones en los extremos. Condición Neumann. Cálculo de la energía */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas. Grupo C2 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Ana Martínez Lorente, Javier Parras Martínez, Alfredo Pazos Arjona, Antonio Pérez Mata, Javier Siguero Ginés }}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un cable de una estructura civil de longitud &amp;lt;math&amp;gt; L = 10 m &amp;lt;/math&amp;gt; sujeto por ambos extremos. Supondremos que el cable tiene una sección pequeña respecto a su longitud y que las vibraciones pueden modelizarse mediante la ecuación de ondas. Si denotamos su desplazamiento vertical por &amp;lt;math&amp;gt; u(x,t) &amp;lt;/math&amp;gt;, podemos plantear el problema de su movimiento según el siguiente sistema de ecuaciones:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=f(x,t), \; x∈[0,10], \; t∈[0,T],\\&lt;br /&gt;
u(0,t)=g_{0}(t), \; u(L,t)=g_{1}(t),\\&lt;br /&gt;
u(x,0)=h_{0}(x), \; u_{t}(x,0)=h_{1}(x)\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vibración sin amortiguamiento. Condiciones Dirichlet. Resolución por el método de líneas ==&lt;br /&gt;
&lt;br /&gt;
Vamos a tratar el problema de vibración de un cable de longitud &amp;lt;math&amp;gt; L=10 &amp;lt;/math&amp;gt;, en la cual los dos extremos de la misma se encuentran fijos a lo largo del tiempo y con una desplazamiento nulo. Al inicio, en &amp;lt;math&amp;gt; t=0 &amp;lt;/math&amp;gt;, sujetamos el cable desde el punto &amp;lt;math&amp;gt; x=L/3 &amp;lt;/math&amp;gt;, y lo desplazamos 1 m en la dirección perpendicular a la recta que une sus extremos.&lt;br /&gt;
&lt;br /&gt;
El problema viene modelizado por la siguente ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0, \; x∈[0,L], \; t∈[0,40], \\&lt;br /&gt;
u(0,t)=0, \; u(L,t)=0, \\&lt;br /&gt;
u(x,0)=\begin{cases} \frac{3x}{L} \\ \frac{3}{2}-\frac{3x}{2L} \end{cases}, \; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación se resuelve el problema por el método de diferencias finitas, aplicando para la resolución de la ecuación matricial que aparece los métodos del trapecio, de Euler explícito y de Heun.&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de de diferencias finitas, o también llamado método de líneas, podemos obtener una solución aproximada del problema propuesto.&lt;br /&gt;
Como se ha visto en las clases de numérico, al aplicar este método obtenemos la siguiente ecuación matricial a resolver:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U''=-KU+F\\&lt;br /&gt;
U(0)=u^{0}\\&lt;br /&gt;
U'(0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; K &amp;lt;/math&amp;gt; es la matriz de coeficientes que multiplica a cada &amp;lt;math&amp;gt; u(t) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F &amp;lt;/math&amp;gt; es un vector que sirve para incluir las condiciones Dirichlet de los extremos, &amp;lt;math&amp;gt; u^{0} &amp;lt;/math&amp;gt; la condición inicial de posición y &amp;lt;math&amp;gt; U &amp;lt;/math&amp;gt; es el vector solución de los desplazamientos del cable. Al ser una ecuación diferencial ordinaria de segundo orden, para poder aplicar los métodos numéricos de resolución es necesario pasar a un sistema de ecuaciones diferenciales ordinarias equivalente. Es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U' = V \\&lt;br /&gt;
V' = -KU + F \\&lt;br /&gt;
U(0) = u^{0} \\&lt;br /&gt;
V(0) = 0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde el nuevo vector &amp;lt;math&amp;gt; V &amp;lt;/math&amp;gt; representa la velocidad de cada punto del cable. Aplicando el método del trapecio a cada ecuación del sistema por separado se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U_{n+1} = U_{n} + \frac{h}{2}(V_{n} + V_{n+1}) \\&lt;br /&gt;
V_{n+1} = V_{n} + \frac{h}{2}(-KU_{n} + F_{n} - KU_{n+1} + F_{n+1}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y despejando cada variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U_{n+1} (I + \frac{h^2}{4}K) = U_{n} + \frac{h}{2}(2V_{n} + \frac{h}{2}(-KU_{n} + F_{n} + F_{n+1})) \\&lt;br /&gt;
V_{n+1} (I + \frac{h^2}{4}K) = V_{n} + \frac{h}{2}(-KU_{n} + F_{n} + F_{n+1}) - \frac{h}{2}K(U_{n} + \frac{h}{2}V_{n}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez realizado este proceso analítico, pasamos a implementar el código MatLab/OctaveUPM que resuelve el problema.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado2_graf.jpg|400px|miniaturadeimagen|derecha||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+2*F)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
}}&lt;br /&gt;
En el gráfico tridimensional podemos observar como varía el desplazamiento vertical en cada punto del cable a lo largo del tiempo. En la parte más cercana al observador podemos apreciar la posición inicial del cable, formando una especie de triángulo, estando el punto de &amp;lt;math&amp;gt; x=L/3 &amp;lt;/math&amp;gt; 1m por encima de la posición horizontal. Cuando se suelta el cable con velocidad cero desde esa posición, el cable tiende a recuperar su posición horizontal, pasando por ella, y alcanzando una posición simétrica con respecto a esta misma horizontal, en la que el punto de &amp;lt;math&amp;gt; x=L/3 &amp;lt;/math&amp;gt; tendrá una desplazamiento vertical negativo de 1m. De nuevo, la cuerda tiende a recuperar su posición horizontal, pasando por ella, y alcanzando otra vez la posición inicial. Al no existir ni amortiguamiento ni ninguna fuerza aplicada, este proceso de oscilación se repite indefinidamente a lo largo del tiempo. Por último, se puede apreciar que ambos extremos del cable tienen desplazamiento vertical nulo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
Ahora vamos a realizar el mismo problema anterior, utilizando el método de Euler explícito. El código MatLab es el siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado3_graf_Euler.jpg|400px|miniaturadeimagen|derecha||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método de Euler (explícito).&lt;br /&gt;
    U(:,i+1)=U(:,i)+k*V(:,i);&lt;br /&gt;
    V(:,i+1)=V(:,i)+k*(-K*U(:,i)+F);&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos observar en la gráfica, no tiene nada que ver esta solución a la calculada anteriormente con el método del Trapecio. Esto es debido a que el método de Euler utilizado, a diferencia del método del Trapecio, es un método explícito. Nuestra gráfica aparece de este modo debido a que el método no converge. Se puede apreciar mirando en los valores de la posición de la onda, que son del orden de &amp;lt;math&amp;gt; 10^{136} &amp;lt;/math&amp;gt; , obviamente valores no razonables. Es por esto que no podemos utilizar este método para la resolución de nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
Realizamos el mismo problema, utilizando el método de Heun. El código MatLab es el siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado3_graf_Heun.jpg|400px|miniaturadeimagen|derecha||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método de Heun&lt;br /&gt;
    K1U=V(:,i);&lt;br /&gt;
    K2U=V(:,i)+K1U*k;&lt;br /&gt;
    K1V=-K*U(:,i)+F;&lt;br /&gt;
    K2V=-K*(U(:,i)+K1V*k)+F;&lt;br /&gt;
    U(:,i+1)=U(:,i)+(k/2)*(K1U+K2U);&lt;br /&gt;
    V(:,i+1)=V(:,i)+(k/2)*(K1V+K2V);&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos observar en la gráfica y al igual que en el caso del método de Euler explícito, no tiene nada que ver esta solución a la calculada anteriormente con el método del Trapecio. Esto es debido a que el método de Heun es también un método explícito. Nuestra gráfica aparece de este modo debido a que el método no converge. Se puede apreciar mirando en los valores de la posición de la onda, que son del orden de  &amp;lt;math&amp;gt;10^{306}&amp;lt;/math&amp;gt; , obviamente valores no razonables. Es por esto que tampoco podemos utilizar este método para la resolución de nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo de la energía ===&lt;br /&gt;
A continuación vamos a hallar la energía de nuestra ecuación de ondas, que viene definida según la ecuación:&lt;br /&gt;
\begin{equation}&lt;br /&gt;
E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
Para ello hemos utilizado la resolución de la ecuación de ondas por el método de diferencias finitas, añadiendo lo necesario para representar la gráfica de la energía.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all, clf&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+2*F)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Como el desplazamiento es nulo, sabemos que la velocidad en esos puntos&lt;br /&gt;
%también será nula&lt;br /&gt;
V=[UA;V;UB];&lt;br /&gt;
E=zeros(size(t)); %Preasignación.&lt;br /&gt;
Ux=zeros(size(x));&lt;br /&gt;
for l=1:M+1&lt;br /&gt;
    for m=2:N&lt;br /&gt;
        Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
    end&lt;br /&gt;
    %Aproximamos las ux en los extremos de la cuerda&lt;br /&gt;
    Ux(1)=U(2,l)/k;&lt;br /&gt;
    Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
    Ux=Ux';&lt;br /&gt;
    E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
end&lt;br /&gt;
%Dibujamos la gráfica de la energía.&lt;br /&gt;
plot(t,E)&lt;br /&gt;
%Elegimos el intervalo de los ejes&lt;br /&gt;
axis([0,40,0,0.5]) &lt;br /&gt;
xlabel('Tiempo (s)'); ylabel('Energía (J)');&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
El resultado de esto es la siguiente gráfica:&lt;br /&gt;
[[Archivo:Apartado4final.jpg|400px|miniaturadeimagen|centro||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
De la que podemos decir&lt;br /&gt;
&lt;br /&gt;
== Vibración con amortiguamiento. Cálculo de la energía ==&lt;br /&gt;
Vamos a estudiar el movimiento del mismo cable, pero esta vez sumergido en un medio viscoso, como sería el caso de un cable sumergido en el mar. El problema que modeliza este comportamiento es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0, \; x∈[0,L], \; t∈[0,40], \\&lt;br /&gt;
u(0,t)=0, \; u(L,t)=0, \\&lt;br /&gt;
u(x,0)=\begin{cases} \frac{3x}{L} \\ \frac{3}{2}-\frac{3x}{2L} \end{cases}, \; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; es una constante que depende del amortiguamiento que produce el medio. Se puede ver que &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; actúa sobre la velocidad del cable, lo que será importante para la interpretación posterior. Vamos a estudiar el comportamiento del cable para &amp;lt;math&amp;gt; a=0,1,4,10,100 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Al ser una ecuación diferente, cambia la ecuación matricial que se obtiene al plantear el método de líneas para el problema propuesto. La ecuación matricial diferencial ordinaria de segundo orden que se obtiene para el caso de amortiguamiento viscoso es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U''=-aU'-KU+F\\&lt;br /&gt;
U(0)=u^{0}\\&lt;br /&gt;
U'(0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y pasando a un sistema de ecuaciones matriciales diferenciales ordinarias de primer orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U' = V \\&lt;br /&gt;
V' = -aV -KU + F \\&lt;br /&gt;
U(0) = u^{0} \\&lt;br /&gt;
V(0) = 0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos ahora el método del trapecio a cada ecuación del sistema, obteniendo que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U_{n+1} = U_{n} + \frac{h}{2}(V_{n} + V_{n+1}) \\&lt;br /&gt;
V_{n+1} = V_{n} + \frac{h}{2}(-aV_{n} -KU_{n} + F_{n} -aV_{n+1} - KU_{n+1} + F_{n+1}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y despejando cada variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
V_{n+1} (I + \frac{h^2}{4}K + \frac{h}{2}I) = V_{n} + \frac{h}{2}(-aV_{n} -KU_{n} + F_{n} + F_{n+1}) - \frac{h}{2}K(U_{n} + \frac{h}{2}V_{n}) \\&lt;br /&gt;
U_{n+1} = U_{n} + \frac{h}{2}(V_{n} + V_{n+1}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez realizado este proceso analítico, se aplica la resolución numérica con MatLab/OctaveUPM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado5_graf2.jpg|400px|miniaturadeimagen|derecha||Gráfica de la energía para distintos amortiguamientos]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all, clf&lt;br /&gt;
%Coeficiente de amortiguamiento&lt;br /&gt;
am=[0,1,4,10,100];&lt;br /&gt;
%Hacemos un bucle donde calcular la energía para cada coeficiente.&lt;br /&gt;
for n=am&lt;br /&gt;
    %Datos en x&lt;br /&gt;
    a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
    h=0.1; %Paso.&lt;br /&gt;
    x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
    N=round((b-a)/h);&lt;br /&gt;
    %Definimos las matrices de la ecuación&lt;br /&gt;
    xx=x(2:N);&lt;br /&gt;
    xx=xx';&lt;br /&gt;
    ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
    U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
    %Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
    for j=1:length(xx);&lt;br /&gt;
        if xx(j)&amp;lt;b/3&lt;br /&gt;
            U0(j)=3*xx(j)/b;&lt;br /&gt;
        else&lt;br /&gt;
            U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    V0=zeros(size(xx)); %Preasignación de V0.&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;
    F=0*xx;&lt;br /&gt;
    F(1)=F(1)+ua/h^2;&lt;br /&gt;
    F(end)=F(end)+ub/h^2;&lt;br /&gt;
    %Resolución del sistema de ecuaciones de EDO de orden 1&lt;br /&gt;
    t0=0;tM=40;&lt;br /&gt;
    k=h; %Paso en t.&lt;br /&gt;
    t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
    M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
    %Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
    U(:,1)=U0;&lt;br /&gt;
    V(:,1)=V0;&lt;br /&gt;
    for i=1:M&lt;br /&gt;
        %Sistema de ecuaciones por el método del trapecio&lt;br /&gt;
        V(:,i+1)=((1+0.5*k*n)*eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-n*V(:,i)-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
        U(:,i+1)=U(:,i)+0.5*h*(V(:,i)+V(:,i+1));&lt;br /&gt;
    end&lt;br /&gt;
    %Incluimos condiciones Dirichlet.&lt;br /&gt;
    UA=ua*ones(1,length(t));&lt;br /&gt;
    UB=ub*ones(1,length(t));&lt;br /&gt;
    U=[UA;U;UB];&lt;br /&gt;
    %Como las condiciones Dirichlet son nulas, las velocidades de estos puntos&lt;br /&gt;
    %también lo serán&lt;br /&gt;
    V=[UA;V;UB];&lt;br /&gt;
    %Energía&lt;br /&gt;
    E=zeros(size(t)); %Preasignación.&lt;br /&gt;
    Ux=zeros(size(x));&lt;br /&gt;
    for l=1:M+1&lt;br /&gt;
        for m=2:N&lt;br /&gt;
            Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
        end&lt;br /&gt;
        Ux(1)=U(2,l)/k;&lt;br /&gt;
        Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
        Ux=Ux';&lt;br /&gt;
        E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
    end&lt;br /&gt;
    %Dibujamos la gráfica de la energía.&lt;br /&gt;
    hold on&lt;br /&gt;
    plot(t,E)&lt;br /&gt;
    xlabel('Tiempo (s)'); ylabel('Energía (J)');&lt;br /&gt;
    %Borramos todos los datos para realizar el bucle de nuevo.&lt;br /&gt;
    clear all&lt;br /&gt;
end&lt;br /&gt;
legend('a=0','a=1','a=4','a=10','a=100','Location','Best');&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el gráfico adjunto se puede observar una representación del valor de la energía para cada valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Cuando &amp;lt;math&amp;gt; a=0 &amp;lt;/math&amp;gt;, podemos ver que la energía se mantiene sensiblemente constante, tal y como ocurría en el apartado anterior. Sin embargo, cuando &amp;lt;math&amp;gt; a=1 &amp;lt;/math&amp;gt; la energía decrece rápidamente. Este efecto disminuye según va aumentando el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;, como se puede observar por ejemplo para el caso de &amp;lt;math&amp;gt; a=100 &amp;lt;/math&amp;gt;. ¿Por qué ocurre esto? De primera mano, tal vez podríamos pensar que cuanto mayor sea el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;, antes se disipara la energía. Sin embargo, esto no es así, ya que la energía es la suma de la energía cinética y de la energía potencial, tal y como se muestra en la ecuación del apartado anterior. El valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; solo afecta a la energía cinética, no a la potencial. Es por ello que cuando el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; es bajo, el cable tiene mayor facilidad para moverse, transformándose la energía potencial inicial en cinética, adquiriendo por lo tanto una mayor velocidad, siendo esta velocidad la que produce esta energía cinética se disipe. Por otro lado, cuando el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; es elevado, al cable le cuesta más moverse, tranformándose menos energía potencial en cinética, y tardando por ello más en disiparse la energía total. En el caso extremo de que el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; tendiera a infinito, el cable no se movería, siendo toda su energía potencial, y manteniéndose constante a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Cambio de condiciones en los extremos. Cálculo de la energía ==&lt;br /&gt;
Consideramos que nuestro cable está sujeto a una estructura que sufre vibraciones periódicas con frecuencia F0 Herzios. Vamos a tomar la función &amp;lt;math&amp;gt;f(t)=\sin(2\pi*F0*t)&amp;lt;/math&amp;gt; que será la que defina la posición del extremo izquierdo, que está sujeto a la estructura, en función del tiempo. Por tanto, nuestro problema queda:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0, \; x∈[0,10], \; t∈[0,60],\\&lt;br /&gt;
u(0,t)=\sin(2\pi*F0*t), \; u(10,t)=0,\\&lt;br /&gt;
u(x,0)=0, \; u_{t}(x,0)=0.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código MatLab para resolver dicho problema es el siguiente:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ub=0; %condición de contorno en el extremo derecho.&lt;br /&gt;
%Preasignación de la posición y la velocidad incial.&lt;br /&gt;
U0=zeros(size(xx));&lt;br /&gt;
V0=U0;&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;
F1=0*xx;&lt;br /&gt;
F2=F1;&lt;br /&gt;
F1(end)=F1(end)+ub/h^2;&lt;br /&gt;
F2(end)=F2(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1&lt;br /&gt;
t0=0;tM=60; %Discretización del vector de tiempos.&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM;&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
%Pedimos por teclado al usuario los distintos valores de la frecuencia que&lt;br /&gt;
%le transmite la estructura al cable. Estas serán F0=1/L+0.01 Hz, &lt;br /&gt;
%F0=1/L-0.01 Hz y F0=1/L Hz, siendo L=b=10.&lt;br /&gt;
F0=input('Introduzca la frecuencia (Hz) transmitida al cable: ');&lt;br /&gt;
for i=1:M&lt;br /&gt;
    F1(1)=sin(2*pi*F0*t(i))/h^2;&lt;br /&gt;
    F2(1)=sin(2*pi*F0*t(i+1))/h^2;&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio.&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+F1+F2)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+F1+F2)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos las condiciones Dirichlet en nuestra solución. &lt;br /&gt;
UA=sin(2*pi*F0*t);&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
VB=zeros(1,length(t));&lt;br /&gt;
VA=2*pi*F0*cos(2*pi*F0*t);&lt;br /&gt;
V=[VA;V;VB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
%Cadena de texto con la frecuencia introducida, para el título de la gráfica.&lt;br /&gt;
Frec=sprintf('Frecuencia = %.2f Hz',F0); &lt;br /&gt;
title(Frec);&lt;br /&gt;
%Energía&lt;br /&gt;
E=zeros(size(t)); %Preasignación.&lt;br /&gt;
Ux=zeros(size(x));&lt;br /&gt;
for l=1:M+1&lt;br /&gt;
    for m=2:N&lt;br /&gt;
        Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
    end&lt;br /&gt;
    Ux(1)=U(2,l)/k;&lt;br /&gt;
    Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
    Ux=Ux';&lt;br /&gt;
    E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
end&lt;br /&gt;
%Dibujamos la gráfica de la energía.&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
grid on&lt;br /&gt;
xlabel('Tiempo (s)'); ylabel('Energía (J/kg)');&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Ap6_onda1.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia1.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable. F0=0.11 Hz.]]&lt;br /&gt;
[[Archivo:Ap6_onda2.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia2.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable. F0=0.09 Hz.]]&lt;br /&gt;
[[Archivo:Ap6_onda3.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia3.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable. F0=0.10 Hz.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las gráficas la energía del cable no es constante. Debido a que la estructura sufre unas vibraciones periódicas, esta fuerza se le transmite al cable en su extremo izquierdo en el primer instante. Como las vibraciones de dicha estructura varían a lo largo del tiempo (pues viene definida por la función &amp;lt;math&amp;gt;f(t)=\sin(2\pi*F0*t)&amp;lt;/math&amp;gt; ) , la energía transmitida va cambiando, y por eso se pueden observar las oscilaciones en la gráfica. Además también se observa, para una frecuencia de 0.11 y 0.09 Hz, que la energía va aumentando durante aproximadamente los primeros 40 segundos. Esto es debido a que en la gráfica se está obteniendo la energía del cable entero y, a medida que pasa el tiempo, la energía del extremo izquierdo se va trasmitiendo a su vez a lo largo del cable. A partir de los 40 primeros segundos, se podría decir que la energía que había sido transmitida por la vibración de la estructura al extremo izquierdo del cable al principio ha &amp;quot;llegado&amp;quot; al final del cable. Esto se traduce gráficamente a que la curva de la energía no sigue ascendiendo, si no que habría alcanzado su tope y a partir de ahí oscilaría en esos intervalos de energía durante un período corto de tiempo y después, la contribución de la fuerza, en lugar de sumarse, se contrarresta por el efecto de la vibración de la onda. Lo podemos representar gráficamente aumentando el intervalo de tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ap6_onda4.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia4.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable en los primeros 200 segundos. F0=0.11 Hz.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cambio de condiciones en los extremos. Condición Neumann. Cálculo de la energía ==&lt;br /&gt;
&lt;br /&gt;
== Vibración sin amortiguamiento. Método de Fourier ==&lt;br /&gt;
Procedemos ahora a resolver el problema del cable vibrante del apartado 2, cuya interpretación podemos encontrar en el propio apartado, mediante el método de Fourier. Lo que buscamos ahora es comprobar que realmente la solución hallada en el ejercicio dos es la correcta mediante el uso de aproximaciones dadas por el método de Fourier.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
a=0;b=10; %espacio&lt;br /&gt;
h=0.1;%En x--------Paso espacial=h&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
t=0:0.1:40;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
u0=zeros(size(x)); %primera función valor inicial&lt;br /&gt;
  for i=1:length(x)&lt;br /&gt;
      if x(i)&amp;lt;10/3 &lt;br /&gt;
       u0(i)=(3*x(i))/10;&lt;br /&gt;
      else &lt;br /&gt;
       u0(i)=1.5-1.5*x(i)/10;&lt;br /&gt;
      end&lt;br /&gt;
  end&lt;br /&gt;
u0t=0; %segunda función valor inicial&lt;br /&gt;
Q=input('Introduzca el número de autofunciones a tratar: ');&lt;br /&gt;
U=0;&lt;br /&gt;
 for j=1:Q&lt;br /&gt;
    p=sin(j*pi/10*x);&lt;br /&gt;
    aj=trapz(x,u0.*p)/trapz(x,p.*p);&lt;br /&gt;
    bj=1/(j*pi)*trapz(x,u0t.*p)/trapz(x,p.*p);&lt;br /&gt;
    U=U+(aj.*cos(j*pi*Mt/10)+bj.*cos(j*pi*Mt/10)).*sin(j*pi*Mx/10);&lt;br /&gt;
 end&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
%Cadena de texto con las autofunciones tomadas, para el título de la gráfica.&lt;br /&gt;
Aut=sprintf('Autofunciones tomadas: %d',Q); &lt;br /&gt;
title(Aut);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ap8_aut1.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]][[Archivo:Ap8_aut3.jpg|400px|miniaturadeimagen|centro||Gráfica de la posición del cable en cada punto y en cada instante.]][[Archivo:Ap8_aut5.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]][[Archivo:Ap8_aut10.jpg|400px|miniaturadeimagen|centro||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ap8_aut20.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en las diferentes gráficas, cada una corresponde a un número diferente de autofunciones utilizadas; conforme aumenta el número de autofunciones usadas se comprueba que la solución se aproxima más a la solución aproximada utilizando el método de líneas del ejercicio dos, confirmándonos que ambas aproximaciones son correctas.&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Grupo_C2&amp;diff=29770</id>
		<title>Ecuación de ondas. Grupo C2</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_de_ondas._Grupo_C2&amp;diff=29770"/>
				<updated>2015-05-13T08:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Cambio de condiciones en los extremos. Condición Neumann. Cálculo de la energía */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación de ondas. Grupo C2 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | Ana Martínez Lorente, Javier Parras Martínez, Alfredo Pazos Arjona, Antonio Pérez Mata, Javier Siguero Ginés }}&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un cable de una estructura civil de longitud &amp;lt;math&amp;gt; L = 10 m &amp;lt;/math&amp;gt; sujeto por ambos extremos. Supondremos que el cable tiene una sección pequeña respecto a su longitud y que las vibraciones pueden modelizarse mediante la ecuación de ondas. Si denotamos su desplazamiento vertical por &amp;lt;math&amp;gt; u(x,t) &amp;lt;/math&amp;gt;, podemos plantear el problema de su movimiento según el siguiente sistema de ecuaciones:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=f(x,t), \; x∈[0,10], \; t∈[0,T],\\&lt;br /&gt;
u(0,t)=g_{0}(t), \; u(L,t)=g_{1}(t),\\&lt;br /&gt;
u(x,0)=h_{0}(x), \; u_{t}(x,0)=h_{1}(x)\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vibración sin amortiguamiento. Condiciones Dirichlet. Resolución por el método de líneas ==&lt;br /&gt;
&lt;br /&gt;
Vamos a tratar el problema de vibración de un cable de longitud &amp;lt;math&amp;gt; L=10 &amp;lt;/math&amp;gt;, en la cual los dos extremos de la misma se encuentran fijos a lo largo del tiempo y con una desplazamiento nulo. Al inicio, en &amp;lt;math&amp;gt; t=0 &amp;lt;/math&amp;gt;, sujetamos el cable desde el punto &amp;lt;math&amp;gt; x=L/3 &amp;lt;/math&amp;gt;, y lo desplazamos 1 m en la dirección perpendicular a la recta que une sus extremos.&lt;br /&gt;
&lt;br /&gt;
El problema viene modelizado por la siguente ecuación:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0, \; x∈[0,L], \; t∈[0,40], \\&lt;br /&gt;
u(0,t)=0, \; u(L,t)=0, \\&lt;br /&gt;
u(x,0)=\begin{cases} \frac{3x}{L} \\ \frac{3}{2}-\frac{3x}{2L} \end{cases}, \; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
A continuación se resuelve el problema por el método de diferencias finitas, aplicando para la resolución de la ecuación matricial que aparece los métodos del trapecio, de Euler explícito y de Heun.&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
&lt;br /&gt;
Aplicando el método de de diferencias finitas, o también llamado método de líneas, podemos obtener una solución aproximada del problema propuesto.&lt;br /&gt;
Como se ha visto en las clases de numérico, al aplicar este método obtenemos la siguiente ecuación matricial a resolver:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U''=-KU+F\\&lt;br /&gt;
U(0)=u^{0}\\&lt;br /&gt;
U'(0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; K &amp;lt;/math&amp;gt; es la matriz de coeficientes que multiplica a cada &amp;lt;math&amp;gt; u(t) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F &amp;lt;/math&amp;gt; es un vector que sirve para incluir las condiciones Dirichlet de los extremos, &amp;lt;math&amp;gt; u^{0} &amp;lt;/math&amp;gt; la condición inicial de posición y &amp;lt;math&amp;gt; U &amp;lt;/math&amp;gt; es el vector solución de los desplazamientos del cable. Al ser una ecuación diferencial ordinaria de segundo orden, para poder aplicar los métodos numéricos de resolución es necesario pasar a un sistema de ecuaciones diferenciales ordinarias equivalente. Es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U' = V \\&lt;br /&gt;
V' = -KU + F \\&lt;br /&gt;
U(0) = u^{0} \\&lt;br /&gt;
V(0) = 0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde el nuevo vector &amp;lt;math&amp;gt; V &amp;lt;/math&amp;gt; representa la velocidad de cada punto del cable. Aplicando el método del trapecio a cada ecuación del sistema por separado se obtiene:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U_{n+1} = U_{n} + \frac{h}{2}(V_{n} + V_{n+1}) \\&lt;br /&gt;
V_{n+1} = V_{n} + \frac{h}{2}(-KU_{n} + F_{n} - KU_{n+1} + F_{n+1}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y despejando cada variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U_{n+1} (I + \frac{h^2}{4}K) = U_{n} + \frac{h}{2}(2V_{n} + \frac{h}{2}(-KU_{n} + F_{n} + F_{n+1})) \\&lt;br /&gt;
V_{n+1} (I + \frac{h^2}{4}K) = V_{n} + \frac{h}{2}(-KU_{n} + F_{n} + F_{n+1}) - \frac{h}{2}K(U_{n} + \frac{h}{2}V_{n}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez realizado este proceso analítico, pasamos a implementar el código MatLab/OctaveUPM que resuelve el problema.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado2_graf.jpg|400px|miniaturadeimagen|derecha||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+2*F)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
}}&lt;br /&gt;
En el gráfico tridimensional podemos observar como varía el desplazamiento vertical en cada punto del cable a lo largo del tiempo. En la parte más cercana al observador podemos apreciar la posición inicial del cable, formando una especie de triángulo, estando el punto de &amp;lt;math&amp;gt; x=L/3 &amp;lt;/math&amp;gt; 1m por encima de la posición horizontal. Cuando se suelta el cable con velocidad cero desde esa posición, el cable tiende a recuperar su posición horizontal, pasando por ella, y alcanzando una posición simétrica con respecto a esta misma horizontal, en la que el punto de &amp;lt;math&amp;gt; x=L/3 &amp;lt;/math&amp;gt; tendrá una desplazamiento vertical negativo de 1m. De nuevo, la cuerda tiende a recuperar su posición horizontal, pasando por ella, y alcanzando otra vez la posición inicial. Al no existir ni amortiguamiento ni ninguna fuerza aplicada, este proceso de oscilación se repite indefinidamente a lo largo del tiempo. Por último, se puede apreciar que ambos extremos del cable tienen desplazamiento vertical nulo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
Ahora vamos a realizar el mismo problema anterior, utilizando el método de Euler explícito. El código MatLab es el siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado3_graf_Euler.jpg|400px|miniaturadeimagen|derecha||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método de Euler (explícito).&lt;br /&gt;
    U(:,i+1)=U(:,i)+k*V(:,i);&lt;br /&gt;
    V(:,i+1)=V(:,i)+k*(-K*U(:,i)+F);&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos observar en la gráfica, no tiene nada que ver esta solución a la calculada anteriormente con el método del Trapecio. Esto es debido a que el método de Euler utilizado, a diferencia del método del Trapecio, es un método explícito. Nuestra gráfica aparece de este modo debido a que el método no converge. Se puede apreciar mirando en los valores de la posición de la onda, que son del orden de &amp;lt;math&amp;gt; 10^{136} &amp;lt;/math&amp;gt; , obviamente valores no razonables. Es por esto que no podemos utilizar este método para la resolución de nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=== Método de Heun ===&lt;br /&gt;
Realizamos el mismo problema, utilizando el método de Heun. El código MatLab es el siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado3_graf_Heun.jpg|400px|miniaturadeimagen|derecha||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método de Heun&lt;br /&gt;
    K1U=V(:,i);&lt;br /&gt;
    K2U=V(:,i)+K1U*k;&lt;br /&gt;
    K1V=-K*U(:,i)+F;&lt;br /&gt;
    K2V=-K*(U(:,i)+K1V*k)+F;&lt;br /&gt;
    U(:,i+1)=U(:,i)+(k/2)*(K1U+K2U);&lt;br /&gt;
    V(:,i+1)=V(:,i)+(k/2)*(K1V+K2V);&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Como podemos observar en la gráfica y al igual que en el caso del método de Euler explícito, no tiene nada que ver esta solución a la calculada anteriormente con el método del Trapecio. Esto es debido a que el método de Heun es también un método explícito. Nuestra gráfica aparece de este modo debido a que el método no converge. Se puede apreciar mirando en los valores de la posición de la onda, que son del orden de  &amp;lt;math&amp;gt;10^{306}&amp;lt;/math&amp;gt; , obviamente valores no razonables. Es por esto que tampoco podemos utilizar este método para la resolución de nuestro problema.&lt;br /&gt;
&lt;br /&gt;
=== Cálculo de la energía ===&lt;br /&gt;
A continuación vamos a hallar la energía de nuestra ecuación de ondas, que viene definida según la ecuación:&lt;br /&gt;
\begin{equation}&lt;br /&gt;
E(t) = \int_{0}^{L} (u_{t}^{2}(x,t)+ u_{x}^{2}(x,t)) \cdot dx&lt;br /&gt;
\end{equation}&lt;br /&gt;
&lt;br /&gt;
Para ello hemos utilizado la resolución de la ecuación de ondas por el método de diferencias finitas, añadiendo lo necesario para representar la gráfica de la energía.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all, clf&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx)); %Preasignación de V0.&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;
F=0*xx;&lt;br /&gt;
F(1)=F(1)+ua/h^2;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1.&lt;br /&gt;
t0=0;tM=40;&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+2*F)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos condiciones Dirichlet.&lt;br /&gt;
UA=ua*ones(1,length(t));&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
%Como el desplazamiento es nulo, sabemos que la velocidad en esos puntos&lt;br /&gt;
%también será nula&lt;br /&gt;
V=[UA;V;UB];&lt;br /&gt;
E=zeros(size(t)); %Preasignación.&lt;br /&gt;
Ux=zeros(size(x));&lt;br /&gt;
for l=1:M+1&lt;br /&gt;
    for m=2:N&lt;br /&gt;
        Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
    end&lt;br /&gt;
    %Aproximamos las ux en los extremos de la cuerda&lt;br /&gt;
    Ux(1)=U(2,l)/k;&lt;br /&gt;
    Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
    Ux=Ux';&lt;br /&gt;
    E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
end&lt;br /&gt;
%Dibujamos la gráfica de la energía.&lt;br /&gt;
plot(t,E)&lt;br /&gt;
%Elegimos el intervalo de los ejes&lt;br /&gt;
axis([0,40,0,0.5]) &lt;br /&gt;
xlabel('Tiempo (s)'); ylabel('Energía (J)');&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
El resultado de esto es la siguiente gráfica:&lt;br /&gt;
[[Archivo:Apartado4final.jpg|400px|miniaturadeimagen|centro||Gráfica de la posición de cada punto del cable.]]&lt;br /&gt;
De la que podemos decir&lt;br /&gt;
&lt;br /&gt;
== Vibración con amortiguamiento. Cálculo de la energía ==&lt;br /&gt;
Vamos a estudiar el movimiento del mismo cable, pero esta vez sumergido en un medio viscoso, como sería el caso de un cable sumergido en el mar. El problema que modeliza este comportamiento es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}+au_{t}=0, \; x∈[0,L], \; t∈[0,40], \\&lt;br /&gt;
u(0,t)=0, \; u(L,t)=0, \\&lt;br /&gt;
u(x,0)=\begin{cases} \frac{3x}{L} \\ \frac{3}{2}-\frac{3x}{2L} \end{cases}, \; u_{t}(x,0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; es una constante que depende del amortiguamiento que produce el medio. Se puede ver que &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; actúa sobre la velocidad del cable, lo que será importante para la interpretación posterior. Vamos a estudiar el comportamiento del cable para &amp;lt;math&amp;gt; a=0,1,4,10,100 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Al ser una ecuación diferente, cambia la ecuación matricial que se obtiene al plantear el método de líneas para el problema propuesto. La ecuación matricial diferencial ordinaria de segundo orden que se obtiene para el caso de amortiguamiento viscoso es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U''=-aU'-KU+F\\&lt;br /&gt;
U(0)=u^{0}\\&lt;br /&gt;
U'(0)=0\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y pasando a un sistema de ecuaciones matriciales diferenciales ordinarias de primer orden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U' = V \\&lt;br /&gt;
V' = -aV -KU + F \\&lt;br /&gt;
U(0) = u^{0} \\&lt;br /&gt;
V(0) = 0 \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicamos ahora el método del trapecio a cada ecuación del sistema, obteniendo que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
U_{n+1} = U_{n} + \frac{h}{2}(V_{n} + V_{n+1}) \\&lt;br /&gt;
V_{n+1} = V_{n} + \frac{h}{2}(-aV_{n} -KU_{n} + F_{n} -aV_{n+1} - KU_{n+1} + F_{n+1}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y despejando cada variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
V_{n+1} (I + \frac{h^2}{4}K + \frac{h}{2}I) = V_{n} + \frac{h}{2}(-aV_{n} -KU_{n} + F_{n} + F_{n+1}) - \frac{h}{2}K(U_{n} + \frac{h}{2}V_{n}) \\&lt;br /&gt;
U_{n+1} = U_{n} + \frac{h}{2}(V_{n} + V_{n+1}) \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una vez realizado este proceso analítico, se aplica la resolución numérica con MatLab/OctaveUPM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:T3Apartado5_graf2.jpg|400px|miniaturadeimagen|derecha||Gráfica de la energía para distintos amortiguamientos]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all, clf&lt;br /&gt;
%Coeficiente de amortiguamiento&lt;br /&gt;
am=[0,1,4,10,100];&lt;br /&gt;
%Hacemos un bucle donde calcular la energía para cada coeficiente.&lt;br /&gt;
for n=am&lt;br /&gt;
    %Datos en x&lt;br /&gt;
    a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
    h=0.1; %Paso.&lt;br /&gt;
    x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
    N=round((b-a)/h);&lt;br /&gt;
    %Definimos las matrices de la ecuación&lt;br /&gt;
    xx=x(2:N);&lt;br /&gt;
    xx=xx';&lt;br /&gt;
    ua=0;ub=0; %Condiciones de contorno.&lt;br /&gt;
    U0=zeros(size(xx)); %Preasignación de U0.&lt;br /&gt;
    %Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
    for j=1:length(xx);&lt;br /&gt;
        if xx(j)&amp;lt;b/3&lt;br /&gt;
            U0(j)=3*xx(j)/b;&lt;br /&gt;
        else&lt;br /&gt;
            U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    V0=zeros(size(xx)); %Preasignación de V0.&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;
    F=0*xx;&lt;br /&gt;
    F(1)=F(1)+ua/h^2;&lt;br /&gt;
    F(end)=F(end)+ub/h^2;&lt;br /&gt;
    %Resolución del sistema de ecuaciones de EDO de orden 1&lt;br /&gt;
    t0=0;tM=40;&lt;br /&gt;
    k=h; %Paso en t.&lt;br /&gt;
    t=t0:k:tM; %Discretización del vector de tiempos.&lt;br /&gt;
    M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
    %Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
    U(:,1)=U0;&lt;br /&gt;
    V(:,1)=V0;&lt;br /&gt;
    for i=1:M&lt;br /&gt;
        %Sistema de ecuaciones por el método del trapecio&lt;br /&gt;
        V(:,i+1)=((1+0.5*k*n)*eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-n*V(:,i)-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
        U(:,i+1)=U(:,i)+0.5*h*(V(:,i)+V(:,i+1));&lt;br /&gt;
    end&lt;br /&gt;
    %Incluimos condiciones Dirichlet.&lt;br /&gt;
    UA=ua*ones(1,length(t));&lt;br /&gt;
    UB=ub*ones(1,length(t));&lt;br /&gt;
    U=[UA;U;UB];&lt;br /&gt;
    %Como las condiciones Dirichlet son nulas, las velocidades de estos puntos&lt;br /&gt;
    %también lo serán&lt;br /&gt;
    V=[UA;V;UB];&lt;br /&gt;
    %Energía&lt;br /&gt;
    E=zeros(size(t)); %Preasignación.&lt;br /&gt;
    Ux=zeros(size(x));&lt;br /&gt;
    for l=1:M+1&lt;br /&gt;
        for m=2:N&lt;br /&gt;
            Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
        end&lt;br /&gt;
        Ux(1)=U(2,l)/k;&lt;br /&gt;
        Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
        Ux=Ux';&lt;br /&gt;
        E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
    end&lt;br /&gt;
    %Dibujamos la gráfica de la energía.&lt;br /&gt;
    hold on&lt;br /&gt;
    plot(t,E)&lt;br /&gt;
    xlabel('Tiempo (s)'); ylabel('Energía (J)');&lt;br /&gt;
    %Borramos todos los datos para realizar el bucle de nuevo.&lt;br /&gt;
    clear all&lt;br /&gt;
end&lt;br /&gt;
legend('a=0','a=1','a=4','a=10','a=100','Location','Best');&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
En el gráfico adjunto se puede observar una representación del valor de la energía para cada valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Cuando &amp;lt;math&amp;gt; a=0 &amp;lt;/math&amp;gt;, podemos ver que la energía se mantiene sensiblemente constante, tal y como ocurría en el apartado anterior. Sin embargo, cuando &amp;lt;math&amp;gt; a=1 &amp;lt;/math&amp;gt; la energía decrece rápidamente. Este efecto disminuye según va aumentando el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;, como se puede observar por ejemplo para el caso de &amp;lt;math&amp;gt; a=100 &amp;lt;/math&amp;gt;. ¿Por qué ocurre esto? De primera mano, tal vez podríamos pensar que cuanto mayor sea el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;, antes se disipara la energía. Sin embargo, esto no es así, ya que la energía es la suma de la energía cinética y de la energía potencial, tal y como se muestra en la ecuación del apartado anterior. El valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; solo afecta a la energía cinética, no a la potencial. Es por ello que cuando el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; es bajo, el cable tiene mayor facilidad para moverse, transformándose la energía potencial inicial en cinética, adquiriendo por lo tanto una mayor velocidad, siendo esta velocidad la que produce esta energía cinética se disipe. Por otro lado, cuando el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; es elevado, al cable le cuesta más moverse, tranformándose menos energía potencial en cinética, y tardando por ello más en disiparse la energía total. En el caso extremo de que el valor de &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; tendiera a infinito, el cable no se movería, siendo toda su energía potencial, y manteniéndose constante a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Cambio de condiciones en los extremos. Cálculo de la energía ==&lt;br /&gt;
Consideramos que nuestro cable está sujeto a una estructura que sufre vibraciones periódicas con frecuencia F0 Herzios. Vamos a tomar la función &amp;lt;math&amp;gt;f(t)=\sin(2\pi*F0*t)&amp;lt;/math&amp;gt; que será la que defina la posición del extremo izquierdo, que está sujeto a la estructura, en función del tiempo. Por tanto, nuestro problema queda:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
u_{tt}-u_{xx}=0, \; x∈[0,10], \; t∈[0,60],\\&lt;br /&gt;
u(0,t)=\sin(2\pi*F0*t), \; u(10,t)=0,\\&lt;br /&gt;
u(x,0)=0, \; u_{t}(x,0)=0.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El código MatLab para resolver dicho problema es el siguiente:&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(2:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ub=0; %condición de contorno en el extremo derecho.&lt;br /&gt;
%Preasignación de la posición y la velocidad incial.&lt;br /&gt;
U0=zeros(size(xx));&lt;br /&gt;
V0=U0;&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;
F1=0*xx;&lt;br /&gt;
F2=F1;&lt;br /&gt;
F1(end)=F1(end)+ub/h^2;&lt;br /&gt;
F2(end)=F2(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1&lt;br /&gt;
t0=0;tM=60; %Discretización del vector de tiempos.&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM;&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
%Pedimos por teclado al usuario los distintos valores de la frecuencia que&lt;br /&gt;
%le transmite la estructura al cable. Estas serán F0=1/L+0.01 Hz, &lt;br /&gt;
%F0=1/L-0.01 Hz y F0=1/L Hz, siendo L=b=10.&lt;br /&gt;
F0=input('Introduzca la frecuencia (Hz) transmitida al cable: ');&lt;br /&gt;
for i=1:M&lt;br /&gt;
    F1(1)=sin(2*pi*F0*t(i))/h^2;&lt;br /&gt;
    F2(1)=sin(2*pi*F0*t(i+1))/h^2;&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio.&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+F1+F2)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+F1+F2)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos las condiciones Dirichlet en nuestra solución. &lt;br /&gt;
UA=sin(2*pi*F0*t);&lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[UA;U;UB];&lt;br /&gt;
VB=zeros(1,length(t));&lt;br /&gt;
VA=2*pi*F0*cos(2*pi*F0*t);&lt;br /&gt;
V=[VA;V;VB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
%Cadena de texto con la frecuencia introducida, para el título de la gráfica.&lt;br /&gt;
Frec=sprintf('Frecuencia = %.2f Hz',F0); &lt;br /&gt;
title(Frec);&lt;br /&gt;
%Energía&lt;br /&gt;
E=zeros(size(t)); %Preasignación.&lt;br /&gt;
Ux=zeros(size(x));&lt;br /&gt;
for l=1:M+1&lt;br /&gt;
    for m=2:N&lt;br /&gt;
        Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
    end&lt;br /&gt;
    Ux(1)=U(2,l)/k;&lt;br /&gt;
    Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
    Ux=Ux';&lt;br /&gt;
    E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
end&lt;br /&gt;
%Dibujamos la gráfica de la energía.&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
grid on&lt;br /&gt;
xlabel('Tiempo (s)'); ylabel('Energía (J/kg)');&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Ap6_onda1.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia1.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable. F0=0.11 Hz.]]&lt;br /&gt;
[[Archivo:Ap6_onda2.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia2.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable. F0=0.09 Hz.]]&lt;br /&gt;
[[Archivo:Ap6_onda3.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia3.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable. F0=0.10 Hz.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en las gráficas la energía del cable no es constante. Debido a que la estructura sufre unas vibraciones periódicas, esta fuerza se le transmite al cable en su extremo izquierdo en el primer instante. Como las vibraciones de dicha estructura varían a lo largo del tiempo (pues viene definida por la función &amp;lt;math&amp;gt;f(t)=\sin(2\pi*F0*t)&amp;lt;/math&amp;gt; ) , la energía transmitida va cambiando, y por eso se pueden observar las oscilaciones en la gráfica. Además también se observa, para una frecuencia de 0.11 y 0.09 Hz, que la energía va aumentando durante aproximadamente los primeros 40 segundos. Esto es debido a que en la gráfica se está obteniendo la energía del cable entero y, a medida que pasa el tiempo, la energía del extremo izquierdo se va trasmitiendo a su vez a lo largo del cable. A partir de los 40 primeros segundos, se podría decir que la energía que había sido transmitida por la vibración de la estructura al extremo izquierdo del cable al principio ha &amp;quot;llegado&amp;quot; al final del cable. Esto se traduce gráficamente a que la curva de la energía no sigue ascendiendo, si no que habría alcanzado su tope y a partir de ahí oscilaría en esos intervalos de energía durante un período corto de tiempo y después, la contribución de la fuerza, en lugar de sumarse, se contrarresta por el efecto de la vibración de la onda. Lo podemos representar gráficamente aumentando el intervalo de tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ap6_onda4.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
[[Archivo:Ap6_Energia4.jpg|400px|miniaturadeimagen|centro||Gráfica de la energía del cable en los primeros 200 segundos. F0=0.11 Hz.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cambio de condiciones en los extremos. Condición Neumann. Cálculo de la energía ==&lt;br /&gt;
clear all&lt;br /&gt;
%Datos en x&lt;br /&gt;
a=0; b=10; %Longitud del cable L=10.&lt;br /&gt;
h=0.1; %Paso.&lt;br /&gt;
x=a:h:b; %Discretización espacial del cable.&lt;br /&gt;
N=round((b-a)/h);&lt;br /&gt;
%Definimos las matrices de la ecuación&lt;br /&gt;
xx=x(1:N);&lt;br /&gt;
xx=xx';&lt;br /&gt;
ub=0; %condición de contorno en el extremo derecho.&lt;br /&gt;
%Preasignación de la posición y la velocidad incial.&lt;br /&gt;
U0=zeros(size(xx));&lt;br /&gt;
%Recorremos mediante un bucle U0, y añadimos los valores que correspondan.&lt;br /&gt;
for j=1:length(xx);&lt;br /&gt;
    if xx(j)&amp;lt;b/3&lt;br /&gt;
        U0(j)=3*xx(j)/b;&lt;br /&gt;
    else&lt;br /&gt;
        U0(j)=1.5-1.5*xx(j)/b;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
V0=zeros(size(xx));%Preasignación de V0.&lt;br /&gt;
%Matriz K&lt;br /&gt;
K=1/h^2*(2*diag(ones(1,N))-diag(ones(1,N-1),-1)-diag(ones(1,N-1),1));&lt;br /&gt;
K(1,1)=4*h+2;&lt;br /&gt;
%Término F y valor inicial&lt;br /&gt;
F=0*xx;&lt;br /&gt;
F(end)=F(end)+ub/h^2;&lt;br /&gt;
%Resolución del sistema de ecuaciones de EDO de orden 1&lt;br /&gt;
t0=0;tM=40; %Discretización del vector de tiempos.&lt;br /&gt;
k=h; %Paso en t.&lt;br /&gt;
t=t0:k:tM;&lt;br /&gt;
M=length(t)-1; %Número de subintervalos.&lt;br /&gt;
%Añadimos en la primera columna las condiciones iniciales.&lt;br /&gt;
U(:,1)=U0;&lt;br /&gt;
V(:,1)=V0;&lt;br /&gt;
for i=1:M&lt;br /&gt;
    %Resolución del sistema de ecuaciones por el método del trapecio.&lt;br /&gt;
    U(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(U(:,i)+0.5*k*(2*V(:,i)+0.5*k*(-K*U(:,i)+2*F)));&lt;br /&gt;
    V(:,i+1)=(eye(size(K))+0.25*(k^2)*K)\(V(:,i)+0.5*k*(-K*U(:,i)+2*F)-0.5*k*K*(U(:,i)+0.5*k*V(:,i)));&lt;br /&gt;
end&lt;br /&gt;
%Incluimos la condición Dirichlet en nuestra solución. &lt;br /&gt;
UB=ub*ones(1,length(t));&lt;br /&gt;
U=[U;UB];&lt;br /&gt;
VB=zeros(1,length(t));&lt;br /&gt;
V=[V;VB];&lt;br /&gt;
%Dibujamos el gráfico.&lt;br /&gt;
[Mt,Mx]=meshgrid(t,x);&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
%Energía&lt;br /&gt;
E=zeros(size(t)); %Preasignación.&lt;br /&gt;
Ux=zeros(size(x));&lt;br /&gt;
for l=1:M+1&lt;br /&gt;
    for m=2:N&lt;br /&gt;
        Ux(m)=(U(m+1,l)-U(m-1,l))/(2*k); %Cálculo de la derivada Ux mediante la aproximación por diferencias finitas.&lt;br /&gt;
    end&lt;br /&gt;
    Ux(1)=U(2,l)/k;&lt;br /&gt;
    Ux(end)=-U(end-1,l)/k;&lt;br /&gt;
    Ux=Ux';&lt;br /&gt;
    E(l)=trapz(x,V(:,l).^2)+trapz(x,Ux.^2); %Cálculo de la energía.&lt;br /&gt;
end&lt;br /&gt;
%Dibujamos la gráfica de la energía.&lt;br /&gt;
figure(2)&lt;br /&gt;
plot(t,E)&lt;br /&gt;
grid on&lt;br /&gt;
xlabel('Tiempo (s)'); ylabel('Energía (J/kg)');&lt;br /&gt;
&lt;br /&gt;
== Vibración sin amortiguamiento. Método de Fourier ==&lt;br /&gt;
Procedemos ahora a resolver el problema del cable vibrante del apartado 2, cuya interpretación podemos encontrar en el propio apartado, mediante el método de Fourier. Lo que buscamos ahora es comprobar que realmente la solución hallada en el ejercicio dos es la correcta mediante el uso de aproximaciones dadas por el método de Fourier.&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
a=0;b=10; %espacio&lt;br /&gt;
h=0.1;%En x--------Paso espacial=h&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
t=0:0.1:40;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
u0=zeros(size(x)); %primera función valor inicial&lt;br /&gt;
  for i=1:length(x)&lt;br /&gt;
      if x(i)&amp;lt;10/3 &lt;br /&gt;
       u0(i)=(3*x(i))/10;&lt;br /&gt;
      else &lt;br /&gt;
       u0(i)=1.5-1.5*x(i)/10;&lt;br /&gt;
      end&lt;br /&gt;
  end&lt;br /&gt;
u0t=0; %segunda función valor inicial&lt;br /&gt;
Q=input('Introduzca el número de autofunciones a tratar: ');&lt;br /&gt;
U=0;&lt;br /&gt;
 for j=1:Q&lt;br /&gt;
    p=sin(j*pi/10*x);&lt;br /&gt;
    aj=trapz(x,u0.*p)/trapz(x,p.*p);&lt;br /&gt;
    bj=1/(j*pi)*trapz(x,u0t.*p)/trapz(x,p.*p);&lt;br /&gt;
    U=U+(aj.*cos(j*pi*Mt/10)+bj.*cos(j*pi*Mt/10)).*sin(j*pi*Mx/10);&lt;br /&gt;
 end&lt;br /&gt;
mesh(Mx,Mt,U)&lt;br /&gt;
xlabel('Longitud (m)'); ylabel('Tiempo (s)'); zlabel('Posición (m)');&lt;br /&gt;
%Cadena de texto con las autofunciones tomadas, para el título de la gráfica.&lt;br /&gt;
Aut=sprintf('Autofunciones tomadas: %d',Q); &lt;br /&gt;
title(Aut);&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ap8_aut1.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]][[Archivo:Ap8_aut3.jpg|400px|miniaturadeimagen|centro||Gráfica de la posición del cable en cada punto y en cada instante.]][[Archivo:Ap8_aut5.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]][[Archivo:Ap8_aut10.jpg|400px|miniaturadeimagen|centro||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ap8_aut20.jpg|400px|miniaturadeimagen|izquierda||Gráfica de la posición del cable en cada punto y en cada instante.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede apreciar en las diferentes gráficas, cada una corresponde a un número diferente de autofunciones utilizadas; conforme aumenta el número de autofunciones usadas se comprueba que la solución se aproxima más a la solución aproximada utilizando el método de líneas del ejercicio dos, confirmándonos que ambas aproximaciones son correctas.&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28697</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28697"/>
				<updated>2015-03-06T18:32:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Competición */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|centro|Resolución de la ecuación diferencial utilizando los métodos de Euler, Heun y RK4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg|500px|thumb|centro|Zoom de la gráfica para observar la diferencia entre los distintos metodos numéricos]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.&lt;br /&gt;
  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
&lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 20 individuos]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 120 individuos]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
&lt;br /&gt;
====Euler====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Euler&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
&lt;br /&gt;
x(k+1)=x(k)+h*(a1*x(k)+b1*x(k)^2+c1*x(k)*y(k));&lt;br /&gt;
y(k+1)=y(k)+h*(a2*y(k)+b2*y(k)^2+c2*x(k)*y(k));&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&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;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Heun&lt;br /&gt;
for k=1:N&lt;br /&gt;
k1x=a1*x(k)+b1*x(k)^2+c1*x(k)*y(k);&lt;br /&gt;
k1y=a2*y(k)+b2*y(k)^2+c2*x(k)*y(k);&lt;br /&gt;
k2x=a1*(x(k)+h*k1x)+b1*(x(k)+h*k1x)^2+c1*(x(k)+h*k1x)*(y(k)+h*k1y); % (x(k)+h*k1x)&lt;br /&gt;
k2y=a2*(y(k)+h*k1y)+b2*(y(k)+h*k1y)^2+c2*(x(k)+h*k1x)*(y(k)+h*k1y); % (y(k)+h*k1y)&lt;br /&gt;
x(k+1)=x(k)+0.5*h*(k1x+k2x);&lt;br /&gt;
y(k+1)=y(k)+0.5*h*(k1y+k2y);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|Parasitismo Heun]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Parasitismo Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en este primer caso los parametros b1 y b2 son iguales a 0, con lo que nos queda este sistema de ecuaciones:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+c1xy\\y'=a2y+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                (Con c1 positivo y c2 negativo)&lt;br /&gt;
&lt;br /&gt;
Este es el sistema de ecuaciones del modelo depredador-presa de Lotka-Volterra, por lo que podemos deducir que el modelo de competencia que representa es el parasitismo. También podíamos haberlo deducido observando el crecimiento de las poblaciones en la gráfica, o fijandonos en que los coeficientes c1 y c2 son uno positivo y otro negativo (una especie vive a expensas de la otra (huesped) a la cual produce perjuicios).&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la gráfica, el método de Euler es inestable para este sistema de ecuaciones, es necesario utilizar Heun para obtener la gráfica.&lt;br /&gt;
&lt;br /&gt;
Se observa que ninguna especie tiende a desaparecer ni a estabilizarse, las especies 1 y 2 oscilan en los intervalos [2,42] y [0,26] respectivamente.&lt;br /&gt;
Aunque en la gráfica parezca que la especie 2 llega a 0 individuos, esto provocaría la desaparicion de la especie. Teniendo en cuenta que medimos las problaciones en millones de habitantes, lo que a simple vista parece 0 ronda los 30.000 individuos.&lt;br /&gt;
&lt;br /&gt;
Debido al signo de los coeficientes (c1 positivo y c2 negativo), sabemos que la segunda especie influye positivamente sobre la primera, mientras que la primera influye negativamente sobre la segunda.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso1xy.jpg|500px|thumb|centro|Parasitismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si entendemos la estabilidad de un ecosistema como la tendencia a estabilizar sus poblaciones conforme aumenta el tiempo, al comparar en un gráfico ambas especies observamos que ninguna de ellas se estabiliza porque el comportamiento de ambas es cíclico, así que podemos afirmar que se trata de un ecosistema inestable.&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso2.jpg|500px|thumb|left|Neutralismo Heun]] [[Archivo:Caso2xy.jpg|500px|thumb|centre|Neutralismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por el método de Euler no da ningún problema de inestabilidad , se asemeja bastante a la gráfica definida por Heun. &lt;br /&gt;
&lt;br /&gt;
Si intentamos dar una interpretación mirando la gráfica puede haber ambigüedad y es dificil llegar a una solución certera. A simple vista podríamos interpretar que la especie 1 debido a su crecimiento influencia negativamente en el crecimiento de la otra población y llegaríamos a la conclusión de que es amensalismo.&lt;br /&gt;
                                                                                                                 &lt;br /&gt;
Para llegar a una conclusión mas acertada hay que estudiar las restricciones que se ponen en este apartado:&lt;br /&gt;
Si nos fijamos en el modelo de competencia y sus restricciones en los coeficientes c1 y c2 , ambos tienen un valor nulo. Esto se interpreta en que ambas especies no se influencian entre si y cada una tendría un crecimiento independiente(neutralismo). Por lo tanto no desaparece ninguna de las especies y ambas se estabilizan en el tiempo .&lt;br /&gt;
 &lt;br /&gt;
En el caso de la especie 1, a partir de t(32) la población es constate y máxima de (4)&lt;br /&gt;
&lt;br /&gt;
Y para la especie 2 desde t(21) en adelante la población es constante y mínima de (2.5)&lt;br /&gt;
&lt;br /&gt;
Por tanto podemos afirmar que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg|500px|thumb|left|Simbiosis Heun]] [[Archivo:Caso3b.jpg|500px|thumb|centre|Simbiosis Heun. Gráfica ampliada]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso tampoco tenemos ningun problema de inestabilidad al utilizar el método de Euler, se obtiene la misma gráfica que utilizando Heun.&lt;br /&gt;
De nuevo al interpretar este caso observando la gráfica no queda claro de que modelo de competencia se trata.&lt;br /&gt;
&lt;br /&gt;
Si nos fijamos otra vez en los coeficientes c1 y c2 nos damos cuenta de que ambos son positivos (ambas especies se benefician mutuamente), con lo que ahora vemos mucho mas clara la situación.&lt;br /&gt;
Se trata de una simbiosis entre 2 especies en la que inicialmente una tiende a crecer y otra a decrecer. El aumento de la especie 1 provoca un pequeño aumento final en la población de la especie 2.&lt;br /&gt;
&lt;br /&gt;
Si observamos la gráfica que llega hasta t=50, se puede ver que no desaparece ninguna de las especies y que ambas se estabilizan en el tiempo .&lt;br /&gt;
En el caso de la especie 1 se estabiliza alrededor de x=5.3, y en el de la especie 2 se estabiliza en torno a y=3,6.&lt;br /&gt;
&lt;br /&gt;
En este caso también podemos afirmar que se trata de un ecosistema estable, que se estabiliza con el tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso3xy.jpg|500px|thumb|centro|Simbiosis Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
Esta gráfica muestra como la especie 2 que tiende a descender desde un principio, se beneficia ligeramente del crecimiento de la especie 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso4.jpg|500px|thumb|left|Competición Heun]] [[Archivo:Caso4xy.jpg|500px|thumb|centre|Competición Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Puede observarse mediante la resolución numérica que el método de Euler sale prácticamente igual y sin grandes diferencias con respecto al método de Heun.&lt;br /&gt;
&lt;br /&gt;
Observando las gráficas vemos como en el inicio es complicado predecir un modelo, ya que ambas especies parecen salir beneficiadas. Sin embargo, pasado un tiempo se observa con claridad como la especie 1 tiende a expandirse, mientras que la segunda especie comienza a caer. Esto se traduce en un caso de competición entre especies, en la cual la una tiende a eliminar a la otra.&lt;br /&gt;
Este modelo se hace patente mediantes los coeficientes c1 y c2, ambos positivos, lo que quiere decirnos que ambas especies se perjudican la una a la otra.&lt;br /&gt;
&lt;br /&gt;
Si observamos la gráfica podemos ver como llegan a un cierto equilibrio con el paso del tiempo ya que tienden a estabilizarse y ninguna especie desaparece por completo.&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso5.jpg|500px|thumb|left|Amensalismo Heun]] [[Archivo:Caso5xy.jpg|500px|thumb|centre|Amensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso no existe ningún problema con el método de Euler, debido a que sale la misma gráfica que si usamos el método de Heun.&lt;br /&gt;
&lt;br /&gt;
Observando la gráfica obtenida puede parecer que es un caso de competición, ya que al tiempo que la especie 1 crece, la especie 2 tiende a desaparecer.&lt;br /&gt;
Pero al fijarnos en que c1=0 y c2=-0.2 (términos que hacen que una especie influya sobre la otra) nos damos cuenta que se trata de amensalismo; lo que supone que existe una especie inhibidora (especie 1) que produce efectos negativos en la especie amensal (especie 2) sin obtener ningún beneficio.&lt;br /&gt;
La especie 1 a partir de t(8) tiende a estabilizarse, con población constante, alcanzando un máximo (25); mientras la especie 2 a partir de t(4) desaparece.&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso6.jpg|500px|thumb|left|Comensalismo Heun]] [[Archivo:Caso6xy.jpg|500px|thumb|centre|Comensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al igual que en la mayoría de casos previos, el método de Euler presenta un error muy similar al de Heun siendo los resultados gráficos y numéricos prácticamente iguales.&lt;br /&gt;
&lt;br /&gt;
En la última gráfica a analizar interpretamos la solución como un claro ejemplo de comensalismo en el que el crecimiento de una de las especies se ve potenciado por el de la otra mientras que el de el de esta no se altera por el de la primera.&lt;br /&gt;
&lt;br /&gt;
A priori no seriamos capaces de identificar en la gráfica la especie que fundamenta su crecimiento en la otra, mas estudiando los coeficientes de la ecuación que las relaciona se conoce el papel de cada una de ellas siendo el coeficiente de la especie que no influya igual a 0 y coeficiente mayor que 0 la que influencia de manera positiva a la otra.&lt;br /&gt;
&lt;br /&gt;
Entendiendo la estabilidad del medio como la mínima o nula variación de las poblaciones a lo largo del tiempo, este ultimo analizado se podría considerar como tal, puesto que una vez que las poblaciones estabilizan su crecimiento de la fase inicial mantienen el número de individuos fijos alcanzándose de esta manera el equilibrio en el medio.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28360</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28360"/>
				<updated>2015-03-06T16:22:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|centro|Resolución de la ecuación diferencial utilizando los métodos de Euler, Heun y RK4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg|500px|thumb|centro|Zoom de la gráfica para observar la diferencia entre los distintos metodos numéricos]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.&lt;br /&gt;
  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
&lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 20 individuos]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 120 individuos]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
&lt;br /&gt;
====Euler====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Euler&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
&lt;br /&gt;
x(k+1)=x(k)+h*(a1*x(k)+b1*x(k)^2+c1*x(k)*y(k));&lt;br /&gt;
y(k+1)=y(k)+h*(a2*y(k)+b2*y(k)^2+c2*x(k)*y(k));&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&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;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Heun&lt;br /&gt;
for k=1:N&lt;br /&gt;
k1x=a1*x(k)+b1*x(k)^2+c1*x(k)*y(k);&lt;br /&gt;
k1y=a2*y(k)+b2*y(k)^2+c2*x(k)*y(k);&lt;br /&gt;
k2x=a1*(x(k)+h*k1x)+b1*(x(k)+h*k1x)^2+c1*(x(k)+h*k1x)*(y(k)+h*k1y); % (x(k)+h*k1x)&lt;br /&gt;
k2y=a2*(y(k)+h*k1y)+b2*(y(k)+h*k1y)^2+c2*(x(k)+h*k1x)*(y(k)+h*k1y); % (y(k)+h*k1y)&lt;br /&gt;
x(k+1)=x(k)+0.5*h*(k1x+k2x);&lt;br /&gt;
y(k+1)=y(k)+0.5*h*(k1y+k2y);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|Parasitismo Heun]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Parasitismo Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en este primer caso los parametros b1 y b2 son iguales a 0, con lo que nos queda este sistema de ecuaciones:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+c1xy\\y'=a2y+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                (Con c1 positivo y c2 negativo)&lt;br /&gt;
&lt;br /&gt;
Este es el sistema de ecuaciones del modelo depredador-presa de Lotka-Volterra, por lo que podemos deducir que el modelo de competencia que representa es el parasitismo. También podíamos haberlo deducido observando el crecimiento de las poblaciones en la gráfica, o fijandonos en que los coeficientes c1 y c2 son uno positivo y otro negativo (una especie vive a expensas de la otra (huesped) a la cual produce perjuicios).&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la gráfica, el método de Euler es inestable para este sistema de ecuaciones, es necesario utilizar Heun para obtener la gráfica.&lt;br /&gt;
&lt;br /&gt;
Se observa que ninguna especie tiende a desaparecer ni a estabilizarse, las especies 1 y 2 oscilan en los intervalos [2,42] y [0,26] respectivamente.&lt;br /&gt;
Aunque en la gráfica parezca que la especie 2 llega a 0 individuos, esto provocaría la desaparicion de la especie. Teniendo en cuenta que medimos las problaciones en millones de habitantes, lo que a simple vista parece 0 ronda los 30.000 individuos.&lt;br /&gt;
&lt;br /&gt;
Debido al signo de los coeficientes (c1 positivo y c2 negativo), sabemos que la segunda especie influye positivamente sobre la primera, mientras que la primera influye negativamente sobre la segunda.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso1xy.jpg|500px|thumb|centro|Parasitismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si entendemos la estabilidad de un ecosistema como la tendencia a estabilizar sus poblaciones conforme aumenta el tiempo, al comparar en un gráfico ambas especies observamos que ninguna de ellas se estabiliza porque el comportamiento de ambas es cíclico, así que podemos afirmar que se trata de un ecosistema inestable.&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso2.jpg|500px|thumb|left|Neutralismo Heun]] [[Archivo:Caso2xy.jpg|500px|thumb|centre|Neutralismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por el método de Euler no da ningún problema de inestabilidad , se asemeja bastante a la gráfica definida por Heun. &lt;br /&gt;
&lt;br /&gt;
Si intentamos dar una interpretación mirando la gráfica puede haber ambigüedad y es dificil llegar a una solución certera. A simple vista podríamos interpretar que la especie 1 debido a su crecimiento influencia negativamente en el crecimiento de la otra población y llegaríamos a la conclusión de que es amensalismo.&lt;br /&gt;
                                                                                                                 &lt;br /&gt;
Para llegar a una conclusión mas acertada hay que estudiar las restricciones que se ponen en este apartado:&lt;br /&gt;
Si nos fijamos en el modelo de competencia y sus restricciones en los coeficientes c1 y c2 , ambos tienen un valor nulo. Esto se interpreta en que ambas especies no se influencian entre si y cada una tendría un crecimiento independiente(neutralismo). Por lo tanto no desaparece ninguna de las especies y ambas se estabilizan en el tiempo .&lt;br /&gt;
 &lt;br /&gt;
En el caso de la especie 1, a partir de t(32) la población es constate y máxima de (4)&lt;br /&gt;
&lt;br /&gt;
Y para la especie 2 desde t(21) en adelante la población es constante y mínima de (2.5)&lt;br /&gt;
&lt;br /&gt;
Por tanto podemos afirmar que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg|500px|thumb|left|Simbiosis Heun]] [[Archivo:Caso3b.jpg|500px|thumb|centre|Simbiosis Heun. Gráfica ampliada]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso tampoco tenemos ningun problema de inestabilidad al utilizar el método de Euler, se obtiene la misma gráfica que utilizando Heun.&lt;br /&gt;
De nuevo al interpretar este caso observando la gráfica no queda claro de que modelo de competencia se trata.&lt;br /&gt;
&lt;br /&gt;
Si nos fijamos otra vez en los coeficientes c1 y c2 nos damos cuenta de que ambos son positivos (ambas especies se benefician mutuamente), con lo que ahora vemos mucho mas clara la situación.&lt;br /&gt;
Se trata de una simbiosis entre 2 especies en la que inicialmente una tiende a crecer y otra a decrecer. El aumento de la especie 1 provoca un pequeño aumento final en la población de la especie 2.&lt;br /&gt;
&lt;br /&gt;
Si observamos la gráfica que llega hasta t=50, se puede ver que no desaparece ninguna de las especies y que ambas se estabilizan en el tiempo .&lt;br /&gt;
En el caso de la especie 1 se estabiliza alrededor de x=5.3, y en el de la especie 2 se estabiliza en torno a y=3,6.&lt;br /&gt;
&lt;br /&gt;
En este caso también podemos afirmar que se trata de un ecosistema estable, que se estabiliza con el tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso3xy.jpg|500px|thumb|centro|Simbiosis Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
Esta gráfica muestra como la especie 2 que tiende a descender desde un principio, se beneficia ligeramente del crecimiento de la especie 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso4.jpg|500px|thumb|left|Competición Heun]] [[Archivo:Caso4xy.jpg|500px|thumb|centre|Competición Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bla bla bla bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso5.jpg|500px|thumb|left|Amensalismo Heun]] [[Archivo:Caso5xy.jpg|500px|thumb|centre|Amensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso no existe ningún problema con el método de Euler, debido a que sale la misma gráfica que si usamos el método de Heun.&lt;br /&gt;
&lt;br /&gt;
Observando la gráfica obtenida puede parecer que es un caso de competición, ya que al tiempo que la especie 1 crece, la especie 2 tiende a desaparecer.&lt;br /&gt;
Pero al fijarnos en que c1=0 y c2=-0.2 (términos que hacen que una especie influya sobre la otra) nos damos cuenta que se trata de amensalismo; lo que supone que existe una especie inhibidora (especie 1) que produce efectos negativos en la especie amensal (especie 2) sin obtener ningún beneficio.&lt;br /&gt;
La especie 1 a partir de t(8) tiende a estabilizarse, con población constante, alcanzando un máximo (25); mientras la especie 2 a partir de t(4) desaparece.&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso6.jpg|500px|thumb|left|Comensalismo Heun]] [[Archivo:Caso6xy.jpg|500px|thumb|centre|Comensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al igual que en la mayoría de casos previos, el método de Euler presenta un error muy similar al de Heun siendo los resultados gráficos y numéricos prácticamente iguales.&lt;br /&gt;
&lt;br /&gt;
En la última gráfica a analizar interpretamos la solución como un claro ejemplo de comensalismo en el que el crecimiento de una de las especies se ve potenciado por el de la otra mientras que el de el de esta no se altera por el de la primera.&lt;br /&gt;
&lt;br /&gt;
A priori no seriamos capaces de identificar en la gráfica la especie que fundamenta su crecimiento en la otra, mas estudiando los coeficientes de la ecuación que las relaciona se conoce el papel de cada una de ellas siendo el coeficiente de la especie que no influya igual a 0 y coeficiente mayor que 0 la que influencia de manera positiva a la otra.&lt;br /&gt;
&lt;br /&gt;
Entendiendo la estabilidad del medio como la mínima o nula variación de las poblaciones a lo largo del tiempo, este ultimo analizado se podría considerar como tal, puesto que una vez que las poblaciones estabilizan su crecimiento de la fase inicial mantienen el número de individuos fijos alcanzándose de esta manera el equilibrio en el medio.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28351</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28351"/>
				<updated>2015-03-06T16:16:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|centro|Resolución de la ecuación diferencial utilizando los métodos de Euler, Heun y RK4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg|500px|thumb|centro|Zoom de la gráfica para observar la diferencia entre los distintos metodos numéricos]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.&lt;br /&gt;
  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
&lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 20 individuos]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 120 individuos]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
&lt;br /&gt;
====Euler====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Euler&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
&lt;br /&gt;
x(k+1)=x(k)+h*(a1*x(k)+b1*x(k)^2+c1*x(k)*y(k));&lt;br /&gt;
y(k+1)=y(k)+h*(a2*y(k)+b2*y(k)^2+c2*x(k)*y(k));&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&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;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Heun&lt;br /&gt;
for k=1:N&lt;br /&gt;
k1x=a1*x(k)+b1*x(k)^2+c1*x(k)*y(k);&lt;br /&gt;
k1y=a2*y(k)+b2*y(k)^2+c2*x(k)*y(k);&lt;br /&gt;
k2x=a1*(x(k)+h*k1x)+b1*(x(k)+h*k1x)^2+c1*(x(k)+h*k1x)*(y(k)+h*k1y); % (x(k)+h*k1x)&lt;br /&gt;
k2y=a2*(y(k)+h*k1y)+b2*(y(k)+h*k1y)^2+c2*(x(k)+h*k1x)*(y(k)+h*k1y); % (y(k)+h*k1y)&lt;br /&gt;
x(k+1)=x(k)+0.5*h*(k1x+k2x);&lt;br /&gt;
y(k+1)=y(k)+0.5*h*(k1y+k2y);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|Parasitismo Heun]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Parasitismo Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en este primer caso los parametros b1 y b2 son iguales a 0, con lo que nos queda este sistema de ecuaciones:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+c1xy\\y'=a2y+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                (Con c1 positivo y c2 negativo)&lt;br /&gt;
&lt;br /&gt;
Este es el sistema de ecuaciones del modelo depredador-presa de Lotka-Volterra, por lo que podemos deducir que el modelo de competencia que representa es el parasitismo. También podíamos haberlo deducido observando el crecimiento de las poblaciones en la gráfica, o fijandonos en que los coeficientes c1 y c2 son uno positivo y otro negativo (una especie vive a expensas de la otra (huesped) a la cual produce perjuicios).&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la gráfica, el método de Euler es inestable para este sistema de ecuaciones, es necesario utilizar Heun para obtener la gráfica.&lt;br /&gt;
&lt;br /&gt;
Se observa que ninguna especie tiende a desaparecer ni a estabilizarse, las especies 1 y 2 oscilan en los intervalos [2,42] y [0,26] respectivamente.&lt;br /&gt;
Aunque en la gráfica parezca que la especie 2 llega a 0 individuos, esto provocaría la desaparicion de la especie. Teniendo en cuenta que medimos las problaciones en millones de habitantes, lo que a simple vista parece 0 ronda los 30.000 individuos.&lt;br /&gt;
&lt;br /&gt;
Debido al signo de los coeficientes (c1 positivo y c2 negativo), sabemos que la segunda especie influye positivamente sobre la primera, mientras que la primera influye negativamente sobre la segunda.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso1xy.jpg|500px|thumb|centro|Parasitismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si entendemos la estabilidad de un ecosistema como la tendencia a estabilizar sus poblaciones conforme aumenta el tiempo, al comparar en un gráfico ambas especies observamos que ninguna de ellas se estabiliza porque el comportamiento de ambas es cíclico, así que podemos afirmar que se trata de un ecosistema inestable.&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso2.jpg|500px|thumb|left|Neutralismo Heun]] [[Archivo:Caso2xy.jpg|500px|thumb|centre|Neutralismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por el método de Euler no da ningún problema de inestabilidad , se asemeja bastante a la gráfica definida por Heun. &lt;br /&gt;
&lt;br /&gt;
Si intentamos dar una interpretación mirando la gráfica puede haber ambigüedad y es dificil llegar a una solución certera. A simple vista podríamos interpretar que la especie 1 debido a su crecimiento influencia negativamente en el crecimiento de la otra población y llegaríamos a la conclusión de que es amensalismo.&lt;br /&gt;
                                                                                                                 &lt;br /&gt;
Para llegar a una conclusión mas acertada hay que estudiar las restricciones que se ponen en este apartado:&lt;br /&gt;
Si nos fijamos en el modelo de competencia y sus restricciones en los coeficientes c1 y c2 , ambos tienen un valor nulo. Esto se interpreta en que ambas especies no se influencian entre si y cada una tendría un crecimiento independiente(neutralismo). Por lo tanto no desaparece ninguna de las especies y ambas se estabilizan en el tiempo .&lt;br /&gt;
 &lt;br /&gt;
En el caso de la especie 1, a partir de t(32) la población es constate y máxima de (4)&lt;br /&gt;
&lt;br /&gt;
Y para la especie 2 desde t(21) en adelante la población es constante y mínima de (2.5)&lt;br /&gt;
&lt;br /&gt;
Por tanto podemos afirmar que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg|500px|thumb|left|Simbiosis Heun]] [[Archivo:Caso3b.jpg|500px|thumb|centre|Simbiosis Heun. Gráfica ampliada]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso tampoco tenemos ningun problema de inestabilidad al utilizar el método de Euler, se obtiene la misma gráfica que utilizando Heun.&lt;br /&gt;
De nuevo al interpretar este caso observando la gráfica no queda claro de que modelo de competencia se trata.&lt;br /&gt;
&lt;br /&gt;
Si nos fijamos otra vez en los coeficientes c1 y c2 nos damos cuenta de que ambos son positivos (ambas especies se benefician mutuamente), con lo que ahora vemos mucho mas clara la situación.&lt;br /&gt;
Se trata de una simbiosis entre 2 especies en la que inicialmente una tiende a crecer y otra a decrecer. El aumento de la especie 1 provoca un pequeño aumento final en la población de la especie 2.&lt;br /&gt;
&lt;br /&gt;
Si observamos la gráfica que llega hasta t=50, se puede ver que no desaparece ninguna de las especies y que ambas se estabilizan en el tiempo .&lt;br /&gt;
En el caso de la especie 1 se estabiliza alrededor de x=5.3, y en el de la especie 2 se estabiliza en torno a y=3,6.&lt;br /&gt;
&lt;br /&gt;
En este caso también podemos afirmar que se trata de un ecosistema estable, que se estabiliza con el tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso3xy.jpg|500px|thumb|centro|Simbiosis Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
Esta gráfica muestra como la especie 2 que tiende a descender desde un principio, se beneficia ligeramente del crecimiento de la especie 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso4.jpg|500px|thumb|left|Competición Heun]] [[Archivo:Caso4xy.jpg|500px|thumb|centre|Competición Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bla bla bla bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso5.jpg|500px|thumb|left|Amensalismo Heun]] [[Archivo:Caso5xy.jpg|500px|thumb|centre|Amensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso no existe ningún problema con el método de Euler, debido a que sale la misma gráfica que si usamos el método de Heun.&lt;br /&gt;
&lt;br /&gt;
Observando la gráfica obtenida puede parecer que es un caso de competición, ya que al tiempo que la especie 1 crece, la especie 2 tiende a desaparecer.&lt;br /&gt;
Pero al fijarnos en que c1=0 y c2=-0.2 (términos que hacen que una especie influya sobre la otra) nos damos cuenta que se trata de amensalismo; lo que supone que existe una especie inhibidora (especie 1) que produce efectos negativos en la especie amensal (especie 2) sin obtener ningún beneficio.&lt;br /&gt;
La especie 1 a partir de t(8) tiende a estabilizarse, con población constante, alcanzando un máximo (25); mientras la especie 2 a partir de t(4) desaparece.&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso6.jpg|500px|thumb|left|Comensalismo Heun]] [[Archivo:Caso6xy.jpg|500px|thumb|centre|Comensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al igual que en la mayoría de casos previos, el método de Euler presenta un error muy similar al de Heun siendo los resultados gráficos y numéricos prácticamente iguales.&lt;br /&gt;
&lt;br /&gt;
En la última gráfica a analizar interpretamos la solución como un claro ejemplo de comensalismo en el que el crecimiento de una de las especies se ve potenciado por el de la otra mientras que el de el de esta no se altera por el de la primera.&lt;br /&gt;
&lt;br /&gt;
A priori no seriamos capaces de identificar en la gráfica la especie que fundamenta su crecimiento en la otra, mas estudiando los coeficientes de la ecuación que las relaciona se conoce el papel de cada una de ellas siendo el coeficiente de la especie que no influya igual a 0 y coeficiente mayor que 0 la que influencia de manera positiva a la otra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28348</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28348"/>
				<updated>2015-03-06T16:15:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|centro|Resolución de la ecuación diferencial utilizando los métodos de Euler, Heun y RK4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg|500px|thumb|centro|Zoom de la gráfica para observar la diferencia entre los distintos metodos numéricos]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.&lt;br /&gt;
  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
&lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 20 individuos]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 120 individuos]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
&lt;br /&gt;
====Euler====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Euler&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
&lt;br /&gt;
x(k+1)=x(k)+h*(a1*x(k)+b1*x(k)^2+c1*x(k)*y(k));&lt;br /&gt;
y(k+1)=y(k)+h*(a2*y(k)+b2*y(k)^2+c2*x(k)*y(k));&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&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;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Heun&lt;br /&gt;
for k=1:N&lt;br /&gt;
k1x=a1*x(k)+b1*x(k)^2+c1*x(k)*y(k);&lt;br /&gt;
k1y=a2*y(k)+b2*y(k)^2+c2*x(k)*y(k);&lt;br /&gt;
k2x=a1*(x(k)+h*k1x)+b1*(x(k)+h*k1x)^2+c1*(x(k)+h*k1x)*(y(k)+h*k1y); % (x(k)+h*k1x)&lt;br /&gt;
k2y=a2*(y(k)+h*k1y)+b2*(y(k)+h*k1y)^2+c2*(x(k)+h*k1x)*(y(k)+h*k1y); % (y(k)+h*k1y)&lt;br /&gt;
x(k+1)=x(k)+0.5*h*(k1x+k2x);&lt;br /&gt;
y(k+1)=y(k)+0.5*h*(k1y+k2y);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|Parasitismo Heun]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Parasitismo Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en este primer caso los parametros b1 y b2 son iguales a 0, con lo que nos queda este sistema de ecuaciones:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+c1xy\\y'=a2y+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                (Con c1 positivo y c2 negativo)&lt;br /&gt;
&lt;br /&gt;
Este es el sistema de ecuaciones del modelo depredador-presa de Lotka-Volterra, por lo que podemos deducir que el modelo de competencia que representa es el parasitismo. También podíamos haberlo deducido observando el crecimiento de las poblaciones en la gráfica, o fijandonos en que los coeficientes c1 y c2 son uno positivo y otro negativo (una especie vive a expensas de la otra (huesped) a la cual produce perjuicios).&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la gráfica, el método de Euler es inestable para este sistema de ecuaciones, es necesario utilizar Heun para obtener la gráfica.&lt;br /&gt;
&lt;br /&gt;
Se observa que ninguna especie tiende a desaparecer ni a estabilizarse, las especies 1 y 2 oscilan en los intervalos [2,42] y [0,26] respectivamente.&lt;br /&gt;
Aunque en la gráfica parezca que la especie 2 llega a 0 individuos, esto provocaría la desaparicion de la especie. Teniendo en cuenta que medimos las problaciones en millones de habitantes, lo que a simple vista parece 0 ronda los 30.000 individuos.&lt;br /&gt;
&lt;br /&gt;
Debido al signo de los coeficientes (c1 positivo y c2 negativo), sabemos que la segunda especie influye positivamente sobre la primera, mientras que la primera influye negativamente sobre la segunda.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso1xy.jpg|500px|thumb|centro|Parasitismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si entendemos la estabilidad de un ecosistema como la tendencia a estabilizar sus poblaciones conforme aumenta el tiempo, al comparar en un gráfico ambas especies observamos que ninguna de ellas se estabiliza porque el comportamiento de ambas es cíclico, así que podemos afirmar que se trata de un ecosistema inestable.&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso2.jpg|500px|thumb|left|Neutralismo Heun]] [[Archivo:Caso2xy.jpg|500px|thumb|centre|Neutralismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por el método de Euler no da ningún problema de inestabilidad , se asemeja bastante a la gráfica definida por Heun. &lt;br /&gt;
&lt;br /&gt;
Si intentamos dar una interpretación mirando la gráfica puede haber ambigüedad y es dificil llegar a una solución certera. A simple vista podríamos interpretar que la especie 1 debido a su crecimiento influencia negativamente en el crecimiento de la otra población y llegaríamos a la conclusión de que es amensalismo.&lt;br /&gt;
                                                                                                                 &lt;br /&gt;
Para llegar a una conclusión mas acertada hay que estudiar las restricciones que se ponen en este apartado:&lt;br /&gt;
Si nos fijamos en el modelo de competencia y sus restricciones en los coeficientes c1 y c2 , ambos tienen un valor nulo. Esto se interpreta en que ambas especies no se influencian entre si y cada una tendría un crecimiento independiente(neutralismo). Por lo tanto no desaparece ninguna de las especies y ambas se estabilizan en el tiempo .&lt;br /&gt;
 &lt;br /&gt;
En el caso de la especie 1, a partir de t(32) la población es constate y máxima de (4)&lt;br /&gt;
&lt;br /&gt;
Y para la especie 2 desde t(21) en adelante la población es constante y mínima de (2.5)&lt;br /&gt;
&lt;br /&gt;
Por tanto podemos afirmar que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg|500px|thumb|left|Simbiosis Heun]] [[Archivo:Caso3b.jpg|500px|thumb|centre|Simbiosis Heun. Gráfica ampliada]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso tampoco tenemos ningun problema de inestabilidad al utilizar el método de Euler, se obtiene la misma gráfica que utilizando Heun.&lt;br /&gt;
De nuevo al interpretar este caso observando la gráfica no queda claro de que modelo de competencia se trata.&lt;br /&gt;
&lt;br /&gt;
Si nos fijamos otra vez en los coeficientes c1 y c2 nos damos cuenta de que ambos son positivos (ambas especies se benefician mutuamente), con lo que ahora vemos mucho mas clara la situación.&lt;br /&gt;
Se trata de una simbiosis entre 2 especies en la que inicialmente una tiende a crecer y otra a decrecer. El aumento de la especie 1 provoca un pequeño aumento final en la población de la especie 2.&lt;br /&gt;
&lt;br /&gt;
Si observamos la gráfica que llega hasta t=50, se puede ver que no desaparece ninguna de las especies y que ambas se estabilizan en el tiempo .&lt;br /&gt;
En el caso de la especie 1 se estabiliza alrededor de x=5.3, y en el de la especie 2 se estabiliza en torno a y=3,6.&lt;br /&gt;
&lt;br /&gt;
En este caso también podemos afirmar que se trata de un ecosistema estable, que se estabiliza con el tiempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso3xy.jpg|500px|thumb|centro|Simbiosis Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
Esta gráfica muestra como la especie 2 que tiende a descender desde un principio, se beneficia ligeramente del crecimiento de la especie 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso4.jpg|500px|thumb|left|Competición Heun]] [[Archivo:Caso4xy.jpg|500px|thumb|centre|Competición Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bla bla bla bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso5.jpg|500px|thumb|left|Amensalismo Heun]] [[Archivo:Caso5xy.jpg|500px|thumb|centre|Amensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso no existe ningún problema con el método de Euler, debido a que sale la misma gráfica que si usamos el método de Heun.&lt;br /&gt;
&lt;br /&gt;
Observando la gráfica obtenida puede parecer que es un caso de competición, ya que al tiempo que la especie 1 crece, la especie 2 tiende a desaparecer.&lt;br /&gt;
Pero al fijarnos en que c1=0 y c2=-0.2 (términos que hacen que una especie influya sobre la otra) nos damos cuenta que se trata de amensalismo; lo que supone que existe una especie inhibidora (especie 1) que produce efectos negativos en la especie amensal (especie 2) sin obtener ningún beneficio.&lt;br /&gt;
La especie 1 a partir de t(8) tiende a estabilizarse, con población constante, alcanzando un máximo (25); mientras la especie 2 a partir de t(4) desaparece.&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso6.jpg|500px|thumb|left|Comensalismo Heun]] [[Archivo:Caso6xy.jpg|500px|thumb|centre|Comensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al igual que en la mayoría de casos previos, el método de Euler presenta un error muy similar al de Heun siendo los resultados gráficos y numéricos prácticamente iguales.&lt;br /&gt;
En la última gráfica a analizar interpretamos la solución como un claro ejemplo de comensalismo en el que el crecimiento de una de las especies se ve potenciado por el de la otra mientras que el de el de esta no se altera por el de la primera.&lt;br /&gt;
A priori no seriamos capaces de identificar en la gráfica la especie que fundamenta su crecimiento en la otra, mas estudiando los coeficientes de la ecuación que las relaciona se conoce el papel de cada una de ellas siendo el coeficiente de la especie que no influya igual a 0 y coeficiente mayor que 0 la que influencia de manera positiva a la otra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28171</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=28171"/>
				<updated>2015-03-06T13:30:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: /* Amensalismo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|centro|Resolución de la ecuación diferencial utilizando los métodos de Euler, Heun y RK4]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg|500px|thumb|centro|Zoom de la gráfica para observar la diferencia entre los distintos metodos numéricos]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.&lt;br /&gt;
  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
&lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 20 individuos]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg|500px|thumb|centro|Desarrollo de la especie con una poblacion inicial de 120 individuos]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
&lt;br /&gt;
====Euler====&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Euler&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
&lt;br /&gt;
x(k+1)=x(k)+h*(a1*x(k)+b1*x(k)^2+c1*x(k)*y(k));&lt;br /&gt;
y(k+1)=y(k)+h*(a2*y(k)+b2*y(k)^2+c2*x(k)*y(k));&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&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;
{{matlab|codigo=&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;
&lt;br /&gt;
clear all&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Introduciendo el numero del caso que queremos resolver, el programa nos lo resuelve directamente.&lt;br /&gt;
Apartado=1; &lt;br /&gt;
&lt;br /&gt;
% Datos en forma de matriz&lt;br /&gt;
Datos=[-0.3 1.15 0 0 0.08 -0.09 150; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0 0 40; ...&lt;br /&gt;
        0.16 0.25 -0.04 -0.1 0.015 0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 -0.015 -0.02 20; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 -0.2 10; ...&lt;br /&gt;
        1 1 -0.04 -0.1 0 0.2 20];&lt;br /&gt;
&lt;br /&gt;
% Seleccion de los datos segun el caso que queremos resolver.&lt;br /&gt;
D=Datos(Apartado,:); &lt;br /&gt;
a1=D(1);&lt;br /&gt;
a2=D(2);&lt;br /&gt;
b1=D(3);&lt;br /&gt;
b2=D(4);&lt;br /&gt;
c1=D(5);&lt;br /&gt;
c2=D(6);&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=D(7);&lt;br /&gt;
&lt;br /&gt;
% Seleccion de tamaño de paso y creacion de vector tiempo.&lt;br /&gt;
Paso=[0.1 0.001];&lt;br /&gt;
h=Paso(1); % Cambiando el valor entre 1 y 2 elegimos el paso de tiempo que queremos.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
y=zeros(1,N+1);&lt;br /&gt;
x=zeros(1,N+1);&lt;br /&gt;
x(1)=2;&lt;br /&gt;
y(1)=7;&lt;br /&gt;
&lt;br /&gt;
% Resolucion con Heun&lt;br /&gt;
for k=1:N&lt;br /&gt;
k1x=a1*x(k)+b1*x(k)^2+c1*x(k)*y(k);&lt;br /&gt;
k1y=a2*y(k)+b2*y(k)^2+c2*x(k)*y(k);&lt;br /&gt;
k2x=a1*(x(k)+h*k1x)+b1*(x(k)+h*k1x)^2+c1*(x(k)+h*k1x)*(y(k)+h*k1y); % (x(k)+h*k1x)&lt;br /&gt;
k2y=a2*(y(k)+h*k1y)+b2*(y(k)+h*k1y)^2+c2*(x(k)+h*k1x)*(y(k)+h*k1y); % (y(k)+h*k1y)&lt;br /&gt;
x(k+1)=x(k)+0.5*h*(k1x+k2x);&lt;br /&gt;
y(k+1)=y(k)+0.5*h*(k1y+k2y);&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
figure(1)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(t,x,'g');&lt;br /&gt;
plot(t,y,'r');&lt;br /&gt;
legend('Especie 1', 'Especie 2')&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
figure(2)&lt;br /&gt;
clf&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,y);&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Especie 1');&lt;br /&gt;
ylabel('Especie 2');&lt;br /&gt;
hold off&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|Parasitismo Heun]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Parasitismo Euler]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos observar que en este primer caso los parametros b1 y b2 son iguales a 0, con lo que nos queda este sistema de ecuaciones:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+c1xy\\y'=a2y+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
                                                                (Con c1 positivo y c2 negativo)&lt;br /&gt;
&lt;br /&gt;
Este es el sistema de ecuaciones del modelo depredador-presa de Lotka-Volterra, por lo que podemos deducir que el modelo de competencia que representa es el parasitismo. También podíamos haberlo deducido observando el crecimiento de las poblaciones en la gráfica, o fijandonos en que los coeficientes c1 y c2 son uno positivo y otro negativo (una especie vive a expensas de la otra (huesped) a la cual produce perjuicios).&lt;br /&gt;
&lt;br /&gt;
Como podemos ver en la gráfica, el método de Euler es inestable para este sistema de ecuaciones, es necesario utilizar Heun para obtener la gráfica.&lt;br /&gt;
&lt;br /&gt;
Se observa que ninguna especie tiende a desaparecer ni a estabilizarse, las especies 1 y 2 oscilan en los intervalos [2,42] y [0,26] respectivamente.&lt;br /&gt;
Aunque en la gráfica parezca que la especie 2 llega a 0 individuos, esto provocaría la desaparicion de la especie. Teniendo en cuenta que medimos las problaciones en millones de habitantes, lo que a simple vista parece 0 ronda los 30.000 individuos.&lt;br /&gt;
&lt;br /&gt;
Debido al signo de los coeficientes (c1 positivo y c2 negativo), sabemos que la segunda especie influye positivamente sobre la primera, mientras que la primera influye negativamente sobre la segunda.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso1xy.jpg|500px|thumb|centro|Parasitismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si entendemos la estabilidad de un ecosistema como la tendencia a estabilizar sus poblaciones conforme aumenta el tiempo, al comparar en un gráfico ambas especies observamos que ninguna de ellas se estabiliza porque el comportamiento de ambas es cíclico, así que podemos afirmar que se trata de un ecosistema inestable.&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso2.jpg|500px|thumb|left|Neutralismo Heun]] [[Archivo:Caso2xy.jpg|500px|thumb|centre|Neutralismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por el método de Euler no da ningún problema de inestabilidad , se asemeja bastante a la gráfica definida por Heun. &lt;br /&gt;
&lt;br /&gt;
Si intentamos dar una interpretación mirando la gráfica puede haber ambigüedad y es dificil llegar a una solución certera. A simple vista podríamos interpretar que la especie 1 debido a su crecimiento influencia negativamente en el crecimiento de la otra población y llegaríamos a la conclusión de que es amensalismo.&lt;br /&gt;
                                                                                                                 &lt;br /&gt;
Para llegar a una conclusión mas acertada hay que estudiar las restricciones que se ponen en este apartado:&lt;br /&gt;
Si nos fijamos en el modelo de competencia y sus restricciones en los coeficientes c1 y c2 , ambos tienen un valor nulo. Esto se interpreta en que ambas especies no se influencian entre si y cada una tendría un crecimiento independiente(neutralismo). Por lo tanto no desaparece ninguna de las especies y ambas se estabilizan en el tiempo .&lt;br /&gt;
 &lt;br /&gt;
En el caso de la especie 1, a partir de t(32) la población es constate y máxima de (4)&lt;br /&gt;
&lt;br /&gt;
Y para la especie 2 desde t(21) en adelante la población es constante y mínima de (2.5)&lt;br /&gt;
&lt;br /&gt;
Por tanto podemos afirmar que es un ecosistema estable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg|500px|thumb|left|Simbiosis Heun]] [[Archivo:Caso3b.jpg|500px|thumb|centre|Simbiosis Heun. Gráfica ampliada]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso3xy.jpg|500px|thumb|left|Simbiosis Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso tampoco tenemos ningun problema de inestabilidad al utilizar el método de Euler, se obtiene la misma gráfica que utilizando Heun.&lt;br /&gt;
De nuevo al interpretar este caso observando la gráfica no queda claro de que modelo de competencia se trata.&lt;br /&gt;
&lt;br /&gt;
Si nos fijamos otra vez en los coeficientes c1 y c2 nos damos cuenta de que ambos son positivos (ambas especies se benefician mutuamente), con lo que ahora vemos mucho mas clara la situación.&lt;br /&gt;
Se trata de una simbiosis entre 2 especies en la que inicialmente una tiende a crecer y otra a decrecer. El aumento de la especie 1 provoca un pequeño aumento final en la población de la especie 2.&lt;br /&gt;
&lt;br /&gt;
Si observamos la gráfica que llega hasta t=50, se puede ver que no desaparece ninguna de las especies y que ambas se estabilizan en el tiempo .&lt;br /&gt;
En el caso de la especie 1 se estabiliza alrededor de x=5.3, y en el de la especie 2 se estabiliza en torno a y=3,6.&lt;br /&gt;
&lt;br /&gt;
En este caso también podemos afirmar que se trata de un ecosistema estable, que se estabiliza con el tiempo.&lt;br /&gt;
&lt;br /&gt;
====Competición====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso4.jpg|500px|thumb|left|Competición Heun]] [[Archivo:Caso4xy.jpg|500px|thumb|centre|Competición Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bla bla bla bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso5.jpg|500px|thumb|left|Amensalismo Heun]] [[Archivo:Caso5xy.jpg|500px|thumb|centre|Amensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En este caso no existe ningún problema con el método de Euler, debido a que sale la misma gráfica que si usamos el método de Heun.&lt;br /&gt;
&lt;br /&gt;
Observando la gráfica obtenida puede parecer que es un caso de competición, ya que al tiempo que la especie 1 crece, la especie 2 tiende a desaparecer.&lt;br /&gt;
Pero al fijarnos en que c1=0 y c2=-0.2 (términos que hacen que una especie influya sobre la otra) nos damos cuenta que se trata de amensalismo; lo que supone que existe una especie inhibidora (especie 1) que produce efectos negativos en la especie amensal (especie 2) sin obtener ningún beneficio.&lt;br /&gt;
La especie 1 a partir de t(8) tiende a estabilizarse, con población constante, alcanzando un máximo (25); mientras la especie 2 a partir de t(4) desaparece.&lt;br /&gt;
&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Caso6.jpg|500px|thumb|left|Comensalismo Heun]] [[Archivo:Caso6xy.jpg|500px|thumb|centre|Comensalismo Heun. Relación Especie 1- Especie 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bla bla bla bla&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25610</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25610"/>
				<updated>2015-03-04T22:20:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.&lt;br /&gt;
  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
&lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|figure2]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Zoom figure2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25608</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25608"/>
				<updated>2015-03-04T22:19:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|figure2]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Zoom figure2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25606</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25606"/>
				<updated>2015-03-04T22:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dicho sistema modeliza lo que conocemos como los distintos modelos de competencia (neutralismo, simbiosis o cooperación, competición, parasitismo, comensalismo, amesalismo).&lt;br /&gt;
Basándonos en dicho modelo y aplicando los distintos métodos numéricos de resolución de ecuaciones diferenciales ordinarias nos dispondremos  a llevar a cabo un estudio de diversos aspectos propios de cada especie estudiada, su interacción con otras y su relación con el medio.&lt;br /&gt;
Analizando los resultados obtenidos y apoyándonos en sus representaciones gráficas seremos capaces de deducir cada uno de los modelos de competencia, los extremos poblacionales de cada comunidad, sus tendencias futuras respecto a su supervivencia…&lt;br /&gt;
Otro aspecto de gran relevancia es la posibilidad, mediante los grafos de las funciones programadas e  interpretación de parámetros, de conocer como influyen una especies sobre otras centrándonos en mayor medida en sus crecimientos.&lt;br /&gt;
Esta información nos permite, con una vista más global, poder conocer los caracteres de cada ecosistema siendo de especial importancia el análisis de su estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|figure2]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Zoom figure2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25604</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25604"/>
				<updated>2015-03-04T22:17:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|figure2]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Zoom figure2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25602</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25602"/>
				<updated>2015-03-04T22:17:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Con el objetivo estudiar las interacciones de diversas especies en el medio, asi como su relación con este empleamos el modelo no lineal ;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|figure2]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Zoom figure2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25183</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25183"/>
				<updated>2015-03-04T16:17:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg|500px|thumb|left|figure2]] [[Archivo:Caso1inestable.jpg|500px|thumb|centre|Zoom figure2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso4.jpg&amp;diff=25182</id>
		<title>Archivo:Caso4.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso4.jpg&amp;diff=25182"/>
				<updated>2015-03-04T16:07:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso6.jpg&amp;diff=25181</id>
		<title>Archivo:Caso6.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso6.jpg&amp;diff=25181"/>
				<updated>2015-03-04T16:07:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso5.jpg&amp;diff=25180</id>
		<title>Archivo:Caso5.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso5.jpg&amp;diff=25180"/>
				<updated>2015-03-04T16:07:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso3.jpg&amp;diff=25179</id>
		<title>Archivo:Caso3.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso3.jpg&amp;diff=25179"/>
				<updated>2015-03-04T16:07:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso2.jpg&amp;diff=25178</id>
		<title>Archivo:Caso2.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso2.jpg&amp;diff=25178"/>
				<updated>2015-03-04T16:07:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso1inestable.jpg&amp;diff=25177</id>
		<title>Archivo:Caso1inestable.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso1inestable.jpg&amp;diff=25177"/>
				<updated>2015-03-04T16:06:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25176</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25176"/>
				<updated>2015-03-04T16:05:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
[[Archivo:Caso1.jpg]]&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
[[Archivo:Caso2.jpg]]&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
[[Archivo:Caso3.jpg]]&lt;br /&gt;
====Competición====&lt;br /&gt;
[[Archivo:Caso4.jpg]]&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
[[Archivo:Caso5.jpg]]&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
[[Archivo:Caso6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso1.jpg&amp;diff=25175</id>
		<title>Archivo:Caso1.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Caso1.jpg&amp;diff=25175"/>
				<updated>2015-03-04T16:03:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25174</id>
		<title>Logística con umbral</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Log%C3%ADstica_con_umbral&amp;diff=25174"/>
				<updated>2015-03-04T16:00:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jose.martinez.montalvo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Logística con umbral. Grupo 24-C | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED14/15|Curso 2014-15]] | &lt;br /&gt;
Jose Antonio Martinez Montalvo 1494&lt;br /&gt;
Jorge Sempere Ruíz 4&lt;br /&gt;
Isaac Rebollo Palos 1522&lt;br /&gt;
Marta Orellana Jimenez 309&lt;br /&gt;
Rodrigo Bellot Rodriguez 1270 }}&lt;br /&gt;
==Objetivos y metodología==&lt;br /&gt;
El objetivo del trabajo es el estudio de dos problemas poblacionales independientes.&lt;br /&gt;
&lt;br /&gt;
En el primero de ellos trataremos la resolución de una ecuación logística clásica que modeliza una especie de individuos y su dependencia con el medio, lo que se traduce en un problema de valor inicial. Trataremos de resolverlo mediante distintos metodos numericos (Euler, Heun y Runge-Kutta) a la vez que le daremos un sentido tanto numérico como poblacional.&lt;br /&gt;
 &lt;br /&gt;
En el segundo analizaremos la evolución de dos especies que ocupan un mismo ecosistema, que actuaran como competidores en el uso de los recursos. Esta situacion sera la equivalente a un sistema de ecuaciones no lineal denominado modelo de competencia y para distintos valores de sus constantes analizaremos el tipo de relacion entre las especies (neutralismo, parasitismo...) asi como algunas propiedades que se pueden derivar de la misma. &lt;br /&gt;
==Dinámica de población dependiente del medio==&lt;br /&gt;
===Introducción===&lt;br /&gt;
Considerando el problema del valor inicial;&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
y'=-ry(1-\frac{y}{M1})(1-\frac{y}{M2})\\y=y0&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
nos dispondremos a desarrollar y exponer la resolución del problema, la interpretción de los resultados obtenidos, complementando todo esto con sus gráficas correspondientes para facilitar su entendimiento.&lt;br /&gt;
===Resolución===&lt;br /&gt;
[[Archivo:RESOLUCIONGENERAL.jpg|600px|miniaturadeimagen|derecha|Representación gráfica del dominio de las funciones (MATLAB)]]&lt;br /&gt;
Para la resolución general utilizaremos un numero de individuos iniciales igual a 60 (y0=60).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% f(t,y)= -r*yy*(1-yy/m1)*(1-yy/m2)&lt;br /&gt;
&lt;br /&gt;
clf&lt;br /&gt;
&lt;br /&gt;
% Datos&lt;br /&gt;
r=0.04;&lt;br /&gt;
m1=30;&lt;br /&gt;
m2=100;&lt;br /&gt;
y0=60;&lt;br /&gt;
&lt;br /&gt;
% Discretizacion tiempo&lt;br /&gt;
t0=0;&lt;br /&gt;
tf=100;&lt;br /&gt;
hh=[1 0.1 0.01];&lt;br /&gt;
h=hh(1); &lt;br /&gt;
% Cambiando entre 1,2 y 3 elegimos el paso de tiempo que queremos.&lt;br /&gt;
% Cuidado que con 0,01 es probable que se cuelgue el ordenador.&lt;br /&gt;
N=(tf-t0)/h;&lt;br /&gt;
t=t0:h:tf;&lt;br /&gt;
&lt;br /&gt;
% Vector Euler&lt;br /&gt;
y=zeros(N+1);&lt;br /&gt;
yy=y0;&lt;br /&gt;
y(1)=yy;&lt;br /&gt;
&lt;br /&gt;
% Vector Heun&lt;br /&gt;
he=zeros(N+1);&lt;br /&gt;
hh=y0;&lt;br /&gt;
he(1)=hh;&lt;br /&gt;
&lt;br /&gt;
% Vector RK4&lt;br /&gt;
rk=zeros(N+1);&lt;br /&gt;
rr=y0;&lt;br /&gt;
rk(1)=rr;&lt;br /&gt;
&lt;br /&gt;
for k=1:N&lt;br /&gt;
% Euler&lt;br /&gt;
yy=yy+h*(-r*yy*(1-yy/m1)*(1-yy/m2));&lt;br /&gt;
y(k+1)=yy;&lt;br /&gt;
% Heun&lt;br /&gt;
k1=-r*hh*(1-hh/m1)*(1-hh/m2);&lt;br /&gt;
k2=-r*(hh+k1*h)*(1-(hh+k1*h)/m1)*(1-(hh+k1*h)/m2);&lt;br /&gt;
hh=hh+0.5*h*(k1+k2);&lt;br /&gt;
he(k+1)=hh;&lt;br /&gt;
% RK4&lt;br /&gt;
% Calculamos k1=f(tn,yn) &lt;br /&gt;
k1=-r*rr*(1-rr/m1)*(1-rr/m2);&lt;br /&gt;
% Calculamos k2=f(tn+h/2,yn+1/2*h*k1) % Cambiar yy por (yy+0.5*h*k1)&lt;br /&gt;
k2=-r*(rr+1/2*h*k1)*(1-(rr+1/2*h*k1)/m1)*(1-(rr+1/2*h*k1)/m2); % Poniendo &amp;quot;(yy+1/2*h*k1)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k3=f(tn+h/2,yn+1/2*h*k2) % Cambiar yy por (yy+0.5*h*k2)&lt;br /&gt;
k3=-r*(rr+1/2*h*k2)*(1-(rr+1/2*h*k2)/m1)*(1-(rr+1/2*h*k2)/m2); % Poniendo &amp;quot;(yy+1/2*h*k2)&amp;quot; en vez de yy&lt;br /&gt;
% Calculamos k4=f(tn+h,yn+h*k3) % Cambiar yy por (yy+h*k3)&lt;br /&gt;
k4=-r*(rr+h*k3)*(1-(rr+h*k3)/m1)*(1-(rr+h*k3)/m2); % Poniendo &amp;quot;(yy+h*k3)&amp;quot; en vez de yy&lt;br /&gt;
% Meto los datos en el vector&lt;br /&gt;
rr=rr+h/6*(k1+2*k2+2*k3+k4);&lt;br /&gt;
rk(k+1)=rr;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
hold on&lt;br /&gt;
&lt;br /&gt;
plot(t,y);&lt;br /&gt;
plot(t,he,'r');&lt;br /&gt;
plot(t,rk,'g');&lt;br /&gt;
legend('Euler','Heun','RK4')&lt;br /&gt;
&lt;br /&gt;
grid minor;&lt;br /&gt;
xlabel('Tiempo');&lt;br /&gt;
ylabel('Poblacion R');&lt;br /&gt;
}}&lt;br /&gt;
===Interpretación===&lt;br /&gt;
====General====&lt;br /&gt;
=====Numérica=====&lt;br /&gt;
Todos los métodos  dividen el dominio del tiempo en  pequeños segmentos h= ∆t y aproximan la solución de la  función para el extremo de cada segmento. Al hacer esto surgen tres posibles  problemas: la obtención del comienzo de integración, la velocidad de cálculo y los errores generados.&lt;br /&gt;
 &lt;br /&gt;
La solución de las Ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:&lt;br /&gt;
 &lt;br /&gt;
 -Error del Método: por la aproximación de una curva mediante una línea recta.&lt;br /&gt;
&lt;br /&gt;
 -Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente.&lt;br /&gt;
&lt;br /&gt;
 -Propagado: Acumulación de errores por las aproximaciones.&lt;br /&gt;
&lt;br /&gt;
 -Redondeo/Truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora.&lt;br /&gt;
 &lt;br /&gt;
Analizando los tres casos empleados en los cálculos;&lt;br /&gt;
 &lt;br /&gt;
El método  de Euler se encarga de aproximar la curva y=F(x) por medio de una serie de segmentos en recta.&lt;br /&gt;
 &lt;br /&gt;
Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método que se puede disminuir reduciendo el valor de h, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.&lt;br /&gt;
 &lt;br /&gt;
Otra fuente fundamental de error en el método de Euler se debe a que la derivada al principio del intervalo se aplica a través del intervalo entero.&lt;br /&gt;
&lt;br /&gt;
Existe una sencilla modificación que ayudan a evitar este inconveniente dando lugar al método de Heun.&lt;br /&gt;
&lt;br /&gt;
La mejora del método consiste en la aproximación a la pendiente mediante la aplicación de dos derivadas del intervalo, una en el punto inicial y otra en el final. La aproximación mejorada de la pendiente será el promedio de las dos derivadas.&lt;br /&gt;
&lt;br /&gt;
Los métodos más sencillos como el de Euler o las mejoras de este procedimiento, tienen dos defectos esenciales: la pequeña precisión del cálculo y el crecimiento sitemático de los errores.&lt;br /&gt;
&lt;br /&gt;
El procedimiento de Runge-Kutta es el que mayor precisión presenta debido a la su exactitud relativamente elevada de la solución aproximada de la ecuación diferencial.&lt;br /&gt;
&lt;br /&gt;
Todo lo expuesto anteriormente queda corroborado en la gráfica adjuntada, donde puede observarse la variaciones de precisión entre los distintos métodos en la representación de las distintas soluciones.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:INTERPRETACIONNUMERICA.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sin embargo, esta no es más que una ampliación de la gráfica dispuesta al inicio del trabajo, en la cual se puede comprobar que, en el caso de que la exigencia en la precisión de los cálculos no sea notoria, cualquiera de los métodos empleados, a grandes rasgos, darán resultados muy similares.&lt;br /&gt;
=====Poblacional=====&lt;br /&gt;
En términos de dinámica de poblaciones la ecuación diferencial modeliza una población limitada en 100 individuos, condicionada por distintos factores del medio siendo el más limitativo del crecimiento poblacional la falta de recursos en el ecosistema donde se estudia la población. En el estudio desarrollado a continuación se parte de la base de que con poblaciones inferiores a cierto valor (30 en nuestro caso) estas serán incapaces de adaptarse al medio y prosperar, decreciendo la población de forma continuada hasta la desaparición total de esta.  &lt;br /&gt;
Interpretamos, en función de los valores dados, que a partir de 30 componentes  estas agrupaciones son capaces de diversificar las funciones desarrolladas en el grupo siendo suficientes para que estas permitan el desarrollo del grupo.&lt;br /&gt;
En el caso limite, consideraríamos que de la totalidad de los individuos  se repartiría en funciones esenciales, como la obtención de alimento y la defensa del grupo, lo que permitiría un crecimiento poblacional moderado. Sin embargo, para comunidades mayores  la diversificación de  tareas, o bien, desarrollándose las mismas de forma más eficiente o pudiendo llegar a surgir otras, y mientras el factor limitativo de los recursos del medio lo permita, el crecimiento será superior al de poblaciones menores en los valores iniciales .  &lt;br /&gt;
Lo expuesto previamente se cumple  hasta valores muy cercanos  al límite de individuos en ese espacio, no obstante,  en zonas cercanas al valor máximo de individuos de este estudio la pendiente en el crecimiento se ve disminuida dando lugar a  un crecimiento más lento de los experimentados previamente. Pudiera interpretarse como que, dado que los recursos empiezan a ser insuficientes, la competencia por ellos se verá incrementada dificultando en mayor medida el desarrollo del censo poblacional.&lt;br /&gt;
&lt;br /&gt;
====Casos Particulares====&lt;br /&gt;
Para un número inicial de individuos igual a 20&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP5.jpg]]&lt;br /&gt;
&lt;br /&gt;
Acorde con lo ya explicado, al no superar el número límite de individuos que permitan el desarrollo de la población,esta decrecerá hasta extinguirse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para un número inicial de individuos igual a 120&lt;br /&gt;
&lt;br /&gt;
[[Archivo:24CAP4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como ya expusimos, al superar el número de individuos de la población el máximo permitido por el medio, estos desaparecerán hasta alcanzar el valor sostenible del medio.&lt;br /&gt;
==Dinámica de población condicionada por otra especie==&lt;br /&gt;
===Introducción===&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}&lt;br /&gt;
x'=a1x+b1x^2+c1xy\\y'=a2y+b2y^2+c2xy&lt;br /&gt;
\end{matrix}\right. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resolución numérica===&lt;br /&gt;
===Casos Particulares===&lt;br /&gt;
====Parasitismo====&lt;br /&gt;
====Neutralismo====&lt;br /&gt;
====Simbiosis====&lt;br /&gt;
====Competición====&lt;br /&gt;
====Amensalismo====&lt;br /&gt;
====Comensalismo====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]] &lt;br /&gt;
[[Categoría:ED14/15]]&lt;br /&gt;
[[Categoría:Trabajos 2014-15]]&lt;/div&gt;</summary>
		<author><name>Jose.martinez.montalvo</name></author>	</entry>

	</feed>