<?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=P.gpeinado</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=P.gpeinado"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/P.gpeinado"/>
		<updated>2026-04-23T14:56:08Z</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_un_contaminante._Grupo_4&amp;diff=13622</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13622"/>
				<updated>2014-05-22T20:42:05Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Cambio en las condiciones de frontera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Comparativa de métodos===&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resolución numérica ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier020.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier050.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparafourier.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Se aprecia que para M=1 (en verde) se da la peor aproximación.&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=-3&amp;lt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;gt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;gt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la izquierda,interpretado de forma que por el extremo x=0 está saliendo una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13455</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13455"/>
				<updated>2014-05-19T22:51:57Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Comparativa de métodos===&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resolución numérica ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier020.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier050.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparafourier.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Se aprecia que para M=1 (en verde) se da la peor aproximación.&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13451</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13451"/>
				<updated>2014-05-19T22:50:49Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Comparativa de métodos===&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resolución numérica ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier020.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier050.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Comparafourier.jpg ]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparafourier.jpg&amp;diff=13449</id>
		<title>Archivo:Comparafourier.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparafourier.jpg&amp;diff=13449"/>
				<updated>2014-05-19T22:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13417</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13417"/>
				<updated>2014-05-19T22:34:54Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier020.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier050.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparacionfourier.jpg ]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13411</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13411"/>
				<updated>2014-05-19T22:32:57Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier020.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier050.jpg ]]&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparacionfourier.jpg ]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier050.jpg&amp;diff=13407</id>
		<title>Archivo:Fourier050.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier050.jpg&amp;diff=13407"/>
				<updated>2014-05-19T22:31:42Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13403</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13403"/>
				<updated>2014-05-19T22:30:24Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier020.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier50.jpg ]]&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparacionfourier.jpg ]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferenciales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier020.jpg&amp;diff=13400</id>
		<title>Archivo:Fourier020.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier020.jpg&amp;diff=13400"/>
				<updated>2014-05-19T22:29:33Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13393</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13393"/>
				<updated>2014-05-19T22:26:24Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=0:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier20g4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier50.jpg ]]&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparacionfourier.jpg ]]&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13349</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13349"/>
				<updated>2014-05-19T22:02:39Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=1:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier20g4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier50.jpg ]]&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
&lt;br /&gt;
[[Archivo:comparacionfourier.jpg ]]&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparacionfourier.jpg&amp;diff=13346</id>
		<title>Archivo:Comparacionfourier.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Comparacionfourier.jpg&amp;diff=13346"/>
				<updated>2014-05-19T22:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13343</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13343"/>
				<updated>2014-05-19T22:01:09Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=1:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier20g4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fourier50.jpg ]]&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier50.jpg&amp;diff=13334</id>
		<title>Archivo:Fourier50.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier50.jpg&amp;diff=13334"/>
				<updated>2014-05-19T21:59:59Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13330</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13330"/>
				<updated>2014-05-19T21:59:25Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=1:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier20g4.jpg&amp;diff=13326</id>
		<title>Archivo:Fourier20g4.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Fourier20g4.jpg&amp;diff=13326"/>
				<updated>2014-05-19T21:57:23Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13324</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13324"/>
				<updated>2014-05-19T21:56:18Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% Método de Fourier&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5; % Longitud del tubo&lt;br /&gt;
a=0; b=5; % Extremos&lt;br /&gt;
T=5; % Tiempo final&lt;br /&gt;
% Numero de autofunciones de la serie = M&lt;br /&gt;
M=20;&lt;br /&gt;
% Mallado&lt;br /&gt;
% En x --------&amp;gt; Paso espacial = h&lt;br /&gt;
h=(b-a)/50;&lt;br /&gt;
x=a:h:b;&lt;br /&gt;
% En t --------&amp;gt; Paso temporal = j&lt;br /&gt;
j=h/4;&lt;br /&gt;
t=0:j:T;&lt;br /&gt;
[Mx,Mt]=meshgrid(x,t);&lt;br /&gt;
f=[zeros(1,31),3*ones(1,20)]; % Valor inicial&lt;br /&gt;
U=0;&lt;br /&gt;
for k=1:M&lt;br /&gt;
    p=cos(k*pi*x/L); % Autofunciones&lt;br /&gt;
    Ck=trapz(x,f.*p)/trapz(x,p.^2);&lt;br /&gt;
    U=U+Ck*(exp(-(k^2*pi^2/L^2)*Mt).*cos(k*pi*Mx/L));&lt;br /&gt;
end&lt;br /&gt;
surf(Mx,Mt,U)&lt;br /&gt;
xlabel('Espacio');&lt;br /&gt;
ylabel('Tiempo');&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13305</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13305"/>
				<updated>2014-05-19T21:51:50Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usamos una T=100 y hacemos los cálculos con el método del trapecio:&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
%Solución estacionaria&lt;br /&gt;
a=U(length(t),:);&lt;br /&gt;
b=U(1,:);&lt;br /&gt;
c=U((length(t)-1)/100+1,:);&lt;br /&gt;
d=U((length(t)-1)*2/100+1,:);&lt;br /&gt;
e=U((length(t)-1)*10/100+1,:);&lt;br /&gt;
hold on&lt;br /&gt;
plot(x,a,'b','linewidth',2);&lt;br /&gt;
plot(x,b,'-y','linewidth',1);&lt;br /&gt;
plot(x,c,'-g','linewidth',1);&lt;br /&gt;
plot(x,d,'-k','linewidth',1);&lt;br /&gt;
plot(x,e,'-r','linewidth',1);&lt;br /&gt;
legend('100','0','1','2','10');&lt;br /&gt;
xlabel('Posición')&lt;br /&gt;
ylabel('Concentracion')&lt;br /&gt;
hold off&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Y en la gráfica comprobamos las distintas distancias.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Grafg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
%Método de Fourier&lt;br /&gt;
clear all&lt;br /&gt;
%Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=0.5;&lt;br /&gt;
%Datos de la aproximación&lt;br /&gt;
Q=20; %Número de coeficientes de Fourier&lt;br /&gt;
h=0.1; &lt;br /&gt;
N=L/h;&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T;&lt;br /&gt;
%definimos u0&lt;br /&gt;
u0=[zeros(1,31),3*ones(1,20)];&lt;br /&gt;
%cálculo de la aproximación&lt;br /&gt;
sol=zeros(length(t),N+1);&lt;br /&gt;
for k=0:Q&lt;br /&gt;
    phi=cos((k*pi/L)*x);&lt;br /&gt;
    c=(trapz(x,u0.*phi))/(trapz(x,phi.^2));&lt;br /&gt;
    T=c*exp(-((k*pi/L)^2)*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;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13187</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13187"/>
				<updated>2014-05-19T21:12:32Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{-μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13077</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13077"/>
				<updated>2014-05-19T20:32:41Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
&lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
&lt;br /&gt;
Las aproximaciones en t=0.5 para 1, 3, 5, 10 y 20 términos de Fourier serán&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13073</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=13073"/>
				<updated>2014-05-19T20:29:38Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_Euler_implícito_y_modificado_(ventana_grande).jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Imageng4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
[[Archivo:Error_Euler_explícito_y_modificado_(ventana_grande).jpg ||marco|centro|Error entre Euler explícito y Euler modificado]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Para obtener los diferentes resultados basta con introducir en M el número de términos de la serie de Fourier que vayamos a usar. Para M=20 se obtiene un resultado similar a los obtenidos anteriormente con otros métodos&lt;br /&gt;
&lt;br /&gt;
y si lo calculamos para M=50 se aprecia que la gráfica se suaviza y se asemeja aun más. &lt;br /&gt;
Los valores negativos que se obtienen son defecto del método.&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:33implicito.jpg&amp;diff=13025</id>
		<title>Archivo:33implicito.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:33implicito.jpg&amp;diff=13025"/>
				<updated>2014-05-19T19:50:26Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Ultimocontaminante.jpg&amp;diff=13020</id>
		<title>Archivo:Ultimocontaminante.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Ultimocontaminante.jpg&amp;diff=13020"/>
				<updated>2014-05-19T19:45:56Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12905</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12905"/>
				<updated>2014-05-19T17:09:48Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Cambio en las condiciones de frontera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error1g4.jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Error22g4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:ultimog4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Ultimo10g4.jpg&amp;diff=12902</id>
		<title>Archivo:Ultimo10g4.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Ultimo10g4.jpg&amp;diff=12902"/>
				<updated>2014-05-19T17:06:59Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12890</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12890"/>
				<updated>2014-05-19T17:00:11Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Cambio en las condiciones de frontera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Comparativa de métodos====&lt;br /&gt;
&lt;br /&gt;
En términos de precisión cabe destacar que es más adecuado el método de Euler implítico frente a Euler Modificado, o Runge-Kutta de orden 2.&lt;br /&gt;
El método que presenta peores resultados es Euler explítico dado que es muy inestable para sistemas.&lt;br /&gt;
&lt;br /&gt;
Se muestra a continuación gráficas explicativas entre los tres métodos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error1g4.jpg |marco|centro|Error entre Euler implícito y Euler modificado]]&lt;br /&gt;
[[Archivo:Error22g4.jpg |marco|centro|Error entre Euler explícito y Euler implícito]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cálculo del tiempo necesario para alcanzar el estado estacionario con un error del 5% ==&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Cálculo del tiempo necesario para alcanzar el estado estacionario con un&lt;br /&gt;
% error del 5% para un intervalo espacial 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1;&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Estado estacionario de la concentración&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U a b dt h n t u0 uu x&lt;br /&gt;
% Comprobamos si varía el tiempo al hacer h 10 veces más pequeño&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=50;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1/10;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(301,1);3*ones(200,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=(h*10)^2/2; % Mantenemos el mismo intervalo temporal&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
nuevo_tiempo=(b-1)*dt&lt;br /&gt;
}}&lt;br /&gt;
El tiempo que tarda en alcanzar la concentración el estado estacionario con un error del 5% es 8.68 segundos con h=0.1. Si cambiamos la longitud de paso a 0.01, el nuevo tiempo es practicamente invariable, 8.645 segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante con limpiador en el extremo de la&lt;br /&gt;
% izquierda&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
% Valor estacionario de la concentración en el tubo&lt;br /&gt;
est=U(length(t),:);&lt;br /&gt;
clear A F K L N T U dt h n t u0 uu x xx tt&lt;br /&gt;
% Repetimos el cálculo y lo paramos al alcanzar un error máximo del 5%&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=100;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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(N+1,N)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
n=1;&lt;br /&gt;
while max((abs(uu'-est))./est)&amp;gt;0.05&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
    n=n+1;&lt;br /&gt;
end&lt;br /&gt;
% Tiempo invertido&lt;br /&gt;
a=size(U);&lt;br /&gt;
b=a(1);&lt;br /&gt;
tiempo=(b-1)*dt&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Este sistema tiene una condición de contorno tipo Dirichlet en el extremo de la varilla &amp;lt;math&amp;gt;x=L&amp;lt;/math&amp;gt;.&lt;br /&gt;
Esto quiere decir que este extremo está en contacto con una fuente de contaminante siendo la concentración en el instante t en dicho extremo &amp;lt;math&amp;gt;u=10sent&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La otra condición es de tipo Neumann en cero &amp;lt;math&amp;gt;-Du_x(0,t)=φ(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este caso &amp;lt;math&amp;gt;φ(t)=3&amp;gt;0&amp;lt;/math&amp;gt;, además &amp;lt;math&amp;gt;D=1&amp;gt;0&amp;lt;/math&amp;gt;, entonces debe verificarse &amp;lt;math&amp;gt;u_x(0,t)&amp;lt;0&amp;lt;/math&amp;gt;. Cogiendo &amp;lt;math&amp;gt;∆x&amp;gt;0&amp;lt;/math&amp;gt; y pequeño obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)-u(0,t)&amp;lt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(0+∆x,t)&amp;lt;u(0,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lo que indica que el flujo de contaminante irá hacia la derecha,interpretado de forma que por el extremo x=0 está entrando una cantidad de contaminante en el instante t igual a φ=3.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=3&lt;br /&gt;
% u(L,t)=f(t)&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=10;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
xint=0:h:L-h; % Nodos interiores&lt;br /&gt;
% Aproximación 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(1,2)=-2;&lt;br /&gt;
K=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N,1);&lt;br /&gt;
F(1)=-3*2/h;&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(19,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Función f(t)&lt;br /&gt;
f=10*sin(t);&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=[u0' f(1)];&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    F(N)=f(n)/h^2;&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=[uu' f(n+1)];&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Apartado10g4.jpg]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Apartado10g4.jpg&amp;diff=12888</id>
		<title>Archivo:Apartado10g4.jpg</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Apartado10g4.jpg&amp;diff=12888"/>
				<updated>2014-05-19T16:59:13Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12572</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12572"/>
				<updated>2014-05-19T07:38:43Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:Eulermodg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Integralg4.jpg]]&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0\\u(5,t)=10sent\\u_x(0,t)=3\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12568</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12568"/>
				<updated>2014-05-19T07:36:43Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Cambio en las condiciones de frontera */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Eulerimpg4.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;br /&gt;
El problema pasa a ser&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12565</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12565"/>
				<updated>2014-05-19T07:35:17Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Barra2.png |marco|centro|Configuración inicial de las concentraciones de contaminante en el tubo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h/4;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método del trapecio&lt;br /&gt;
A=eye(N+1)+dt/2*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\((eye(N+1)-dt/2*K)*uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Trapeciog4.jpg]]&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler explícito&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=uu+dt*(-K*uu+F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Explicitog4.jpg ]]&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler implícito&lt;br /&gt;
A=eye(N+1)+dt*K;&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    uu=A\(uu+dt*F);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Difusión de una sustancia contaminante&lt;br /&gt;
% u_t-u_xx=0, x en (0,L)&lt;br /&gt;
% u_x(0,t)=0&lt;br /&gt;
% u_x(L,t)=0&lt;br /&gt;
% u(0,t)=u0(x)&lt;br /&gt;
% ______________________________________&lt;br /&gt;
%&lt;br /&gt;
clear all&lt;br /&gt;
% Datos del problema&lt;br /&gt;
L=5;&lt;br /&gt;
T=5;&lt;br /&gt;
% Discretización espacial&lt;br /&gt;
h=0.1;&lt;br /&gt;
N=L/h;&lt;br /&gt;
% Vector de puntos en el espacio&lt;br /&gt;
x=0:h:L;&lt;br /&gt;
% Aproximación de -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=(1/h^2)*K;&lt;br /&gt;
% Vector F&lt;br /&gt;
F=zeros(N+1,1);&lt;br /&gt;
% Vector u0&lt;br /&gt;
u0=[zeros(31,1);3*ones(20,1)];&lt;br /&gt;
% Discretización temporal&lt;br /&gt;
dt=h^2/2;&lt;br /&gt;
t=0:dt:T; %Vector de tiempos&lt;br /&gt;
% Método de Euler modificado&lt;br /&gt;
U(1,:)=u0';&lt;br /&gt;
uu=u0;&lt;br /&gt;
for n=1:length(t)-1&lt;br /&gt;
    k1=-K*uu;&lt;br /&gt;
    k2=-K*(uu+dt*k1);&lt;br /&gt;
    uu=uu+dt/2*(k1+k2);&lt;br /&gt;
    U(n+1,:)=uu';&lt;br /&gt;
end&lt;br /&gt;
% Dibujamos&lt;br /&gt;
[xx,tt]= meshgrid(x,t);&lt;br /&gt;
surf(xx,tt,U)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
A=U';&lt;br /&gt;
integral=trapz(A);&lt;br /&gt;
concentracion=U(:,26);&lt;br /&gt;
subplot(1,2,1)&lt;br /&gt;
plot(t,integral)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Masa total de contaminante')&lt;br /&gt;
title('Evolución de la cantidad de contaminante en el sistema')&lt;br /&gt;
subplot(1,2,2)&lt;br /&gt;
plot(t,concentracion)&lt;br /&gt;
xlabel('Tiempo')&lt;br /&gt;
ylabel('Concentración en el punto medio del tubo')&lt;br /&gt;
title('Evolución de la concentración en el punto medio del tubo')&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error \ relativo=\cfrac{valor \ real-valor \ estacionario}{valor \ estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;. El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{kπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=0}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;br /&gt;
&lt;br /&gt;
== Cambio en las condiciones de frontera ==&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12427</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12427"/>
				<updated>2014-05-18T20:19:11Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir &amp;lt;math&amp;gt;T(t)&amp;lt;/math&amp;gt; es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12424</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12424"/>
				<updated>2014-05-18T20:18:03Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\left\{\begin{matrix}\\u_t-u_{xx}=0 \\u_x (0,t)=0 \\u_x (L,t)=0 \\u(x,t)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\X^{''}-μX=0 \\X'(0)=0 \\X^{'} (L)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12420</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12420"/>
				<updated>2014-05-18T20:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left\{\begin{matrix}\\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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left . &lt;br /&gt;
      \{\begin{matrix} X^{''}-μX=0 \\&lt;br /&gt;
X'(0)=0 \\&lt;br /&gt;
X^{'} (L)=0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12417</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12417"/>
				<updated>2014-05-18T20:15:05Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left . &lt;br /&gt;
      \{\begin{matrix} X^{''}-μX=0 \\&lt;br /&gt;
X'(0)=0 \\&lt;br /&gt;
X^{'} (L)=0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12414</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12414"/>
				<updated>2014-05-18T20:13:55Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left . &lt;br /&gt;
      {\begin{matrix} X^{''}-μX=0 \\&lt;br /&gt;
X'(0)=0 \\&lt;br /&gt;
X^{'} (L)=0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12411</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12411"/>
				<updated>2014-05-18T20:13:18Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\left . &lt;br /&gt;
      \begin{matrix} X^{''}-μX=0 \\&lt;br /&gt;
X'(0)=0 \\&lt;br /&gt;
X^{'} (L)=0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12410</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12410"/>
				<updated>2014-05-18T20:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}=\cfrac{X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left . &lt;br /&gt;
      \begin{matrix} X^{''}-μX=0 \\&lt;br /&gt;
X'(0)=0 \\&lt;br /&gt;
X^{'} (L)=0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12405</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12405"/>
				<updated>2014-05-18T20:09:07Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;\cfrac{T'}{T}={X^{''}}{X}=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12400</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12400"/>
				<updated>2014-05-18T20:07:47Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^{'}-X^{''} T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12398</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12398"/>
				<updated>2014-05-18T20:06:23Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12397</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12397"/>
				<updated>2014-05-18T20:05:27Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; {\left . &lt;br /&gt;
      \begin{matrix}   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,t)=u_0&lt;br /&gt;
 \end{matrix}&lt;br /&gt;
   \right \&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T^{'}_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12395</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12395"/>
				<updated>2014-05-18T20:01:32Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \Bigg \{(u_t-u_xx=0:&lt;br /&gt;
@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T^'_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12390</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12390"/>
				<updated>2014-05-18T19:58:55Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^{μ_k t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12384</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12384"/>
				<updated>2014-05-18T19:57:07Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^{-μt} φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12376</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12376"/>
				<updated>2014-05-18T19:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum_{k=1}^K C_k e^(-μt) φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12373</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12373"/>
				<updated>2014-05-18T19:49:45Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)= \sum^K{k=1}C_k e^(-μt) φ_k &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12368</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12368"/>
				<updated>2014-05-18T19:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(\cfrac{nπ}{L} x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=∑_(k=1)^K▒〖C_k e^(-μt) φ_k 〗&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12365</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12365"/>
				<updated>2014-05-18T19:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^'' T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(\cfrac{kπ}{L})^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(nπ/L x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=∑_(k=1)^K▒〖C_k e^(-μt) φ_k 〗&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12363</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12363"/>
				<updated>2014-05-18T19:41:41Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^{''} T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(〖kπ/L)〗^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(nπ/L x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=∑_(k=1)^K▒〖C_k e^(-μt) φ_k 〗&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12362</id>
		<title>Difusión de un contaminante. Grupo 4</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Difusi%C3%B3n_de_un_contaminante._Grupo_4&amp;diff=12362"/>
				<updated>2014-05-18T19:40:59Z</updated>
		
		<summary type="html">&lt;p&gt;P.gpeinado: /* Método de Fourier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Beta }}&lt;br /&gt;
&lt;br /&gt;
{{ TrabajoED | Difusión de una sustancia contaminante. Grupo 4 | [[:Categoría:Ecuaciones Diferenciales|Ecuaciones Diferenciales]]|[[:Categoría:ED13/14|Curso 2013-14]] | Sandra Carrillo del Cura 81, Sergio Castillo Herrero 85, Andrea García Prieto 171, Patricia González Peinado 198, Adrián Salas Calvo 385 }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El proceso irreversible por el cual un grupo de partículas se distribuye de manera uniforme en un medio se denomina '''''difusión''''', proceso estadísticamente predecible en conjunto siendo totalmente aleatorio el movimiento de cada partícula aislada. La difusión de moléculas de una sustancia disuelta en otra será  nuestro objeto de estudio, para lo cual disponemos de un tubo que será detallado posteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modelización del problema ==&lt;br /&gt;
&lt;br /&gt;
Consideramos un tubo de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; de un cierto material, con sección transversal &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; constante. La orientamos en la dirección del eje &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, de &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;. Consideramos una solución compuesta por dos sustancias, de las cuales una de ellas es un contaminante. La sustancia se propaga por el interior de dicho tubo.&lt;br /&gt;
&lt;br /&gt;
Suponemos que el tubo es delgado y que su superficie lateral es aislante, de forma que el contaminante no sale de él, ni puede entrar desde el exterior. Podemos entonces pensar que la concentración es constante a lo largo de cada sección transversal, y ver el tubo como un objeto unidimensional. La concentración va a depender entonces de &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;. Designamos por &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; la concentración de contaminante en la sección de la varilla que dista &amp;lt;math&amp;gt;x ≥ 0&amp;lt;/math&amp;gt; del extremos &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t ≥ 0&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Tomemos un trozo de tubo entre las secciones &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;x + ∆x&amp;lt;/math&amp;gt;, que designaremos&lt;br /&gt;
por &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt;. Suponemos que  ∆x es una cantidad muy pequeña.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;φ(x, t)&amp;lt;/math&amp;gt; el flujo de contaminante, es decir, la cantidad de contaminante que fluye por unidad de tiempo y unidad de área. Como la superficie lateral del tubo está aislada, solamente habría flujo en la dirección del eje &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Si &amp;lt;math&amp;gt;φ (x, t) &amp;gt; 0&amp;lt;/math&amp;gt; pensamos que el flujo va hacia la derecha, si &amp;lt;math&amp;gt;φ (x, t) &amp;lt;0&amp;lt;/math&amp;gt; va hacia la izquierda. El flujo de contaminante en &amp;lt;math&amp;gt;[x, x + ∆x]&amp;lt;/math&amp;gt; está dado por &amp;lt;math&amp;gt;φ (x, t)A − φ (x + ∆x, t)A&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Designamos por &amp;lt;math&amp;gt;f(x, t)&amp;lt;/math&amp;gt; a la concentración de soluto generada por posibles fuentes o sumideros, por unidad de volumen y unidad de tiempo. En el caso de este problema no existen ni fuentes ni sumideros, por lo tanto &amp;lt;math&amp;gt;f(x)=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La ''ley de Fick'' (análoga a la de Fourier para la temperatura) dice:&lt;br /&gt;
&amp;lt;math&amp;gt;F=-D \frac{∂u}{∂x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fick demostró empíricamente que:&lt;br /&gt;
&amp;lt;math&amp;gt; φ(x,t)≅-D \cfrac{(u(x+∆x,t)-u(x,t))}{∆x}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De aquí se deduce la anteriormente citada ley cuando suponemos que &amp;lt;math&amp;gt;∆x&amp;lt;/math&amp;gt; tiende a &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es mayor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;gt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;gt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será negativo y el flujo irá hacia la izquierda.&lt;br /&gt;
&lt;br /&gt;
Si suponemos que ∆x &amp;gt; 0 y la concentración en un tiempo t es menor en x + ∆x que en x, entonces u(x + ∆x) − u(x, t) &amp;lt; 0, y si ∆x es pequeño, se tiene &amp;lt;math&amp;gt;ux(x,t)&amp;lt;0&amp;lt;/math&amp;gt;,&lt;br /&gt;
y &amp;lt;math&amp;gt;φ (x, t)&amp;lt;/math&amp;gt; será positivo y el flujo de calor irá hacia la derecha.&lt;br /&gt;
&lt;br /&gt;
La constante D es el coeficiente de difusión medido en &amp;lt;math&amp;gt;\cfrac{m^2}{s}&amp;lt;/math&amp;gt;, que depende de las propiedades físicas de los compuestos. Este coeficiente D puede depender de x si las condiciones físicas varían en las distintas partes de la sección del tubo. También, en principio, podría depender del tiempo. Supondremos que no, pues en caso contrario el problema en términos matemáticos se complica bastante. La supondremos constante e igual a 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando la ''ley de Fick'', la concentración en la sección transversal del tubo que dista x del extremo &amp;lt;math&amp;gt;x = 0&amp;lt;/math&amp;gt; cuando ha pasado un tiempo &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt;, satisface:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t (x,t) = \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;x ∈(0,L),t&amp;gt;0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
es decir, la ecuación en derivadas parciales:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t= \cfrac{∂}{∂x} Du_x+f(x,t)&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-Du_{xx} = f(x,t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como hemos señalado anteriormente &amp;lt;math&amp;gt;f(x,t)=0&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;D=1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenemos de esta forma una ecuación de difusión similar a la del calor.&lt;br /&gt;
&lt;br /&gt;
== Planteamiento del sistema ==&lt;br /&gt;
El sistema de ecuaciones que debe satisfacer u(x,t) para que el problema esté bien propuesto es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supondremos D constante e igual a 1 y L con valor 5.&lt;br /&gt;
&lt;br /&gt;
== Resolución del sistema ==&lt;br /&gt;
Método de diferencias finitas con ∆x=0.1 suponiendo que en el instante inicial se verifica:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=\left\{\begin{matrix}\\0 &amp;amp; x≤3\\3 &amp;amp; x&amp;gt;3\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método del trapecio ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler explícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler implícito ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Método de Euler modificado ===&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Conservación de la masa total de contaminante ==&lt;br /&gt;
&lt;br /&gt;
Para comprobar que la masa se conserva a lo largo del tiempo, dado que estamos ante la ecuación &amp;lt;math&amp;gt;u_t-u_{xx}=0&amp;lt;/math&amp;gt; , basta con resolver la siguiente integral:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac d {dt} \int_0^5 u(x,t)\,dx= \int_0^5 u_{xx}(x,t)\,dx= u_x(x,t)|_0^5=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que tendrá solución trivial debido a las condiciones frontera.&lt;br /&gt;
&lt;br /&gt;
La primera integral,que hace referencia a la concentración &amp;lt;math&amp;gt;u(x, t)&amp;lt;/math&amp;gt; , da como resultado una constante, que ha sido resuelta numéricamente por el método del trapecio.  &lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Queda ilustrado en las gráficas perfectamente la evolución de la cantidad de contaminante de sistema, frente al comportamiento de la concentración en el punto medio del tubo a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
== Resultados para tiempos grandes ==&lt;br /&gt;
&lt;br /&gt;
Despreciamos &amp;lt;math&amp;gt;u_t&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\-u_{xx}=0\\u_x(0,t)=0\\u_x(L,t)=0\\u(x,0)=0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Caso de colocar un limpiador en un extremo ==&lt;br /&gt;
&lt;br /&gt;
Colocar un limpiador en el extremo izquierdo se traduce físicamente en que la concentración en x=0 es ahora nula. Por lo tanto el problema a resolver ahora es el siguiente:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u_t-Du_{xx}=0\\u(0,t)=0 &amp;amp; t≥0\\u_x(L,t)=0 &amp;amp; t≥0\\u(x,0)=u_0 &amp;amp; xє(0,L)\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método de diferencias finitas ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\left\{\begin{matrix}\\u'_n(t) + \frac {-u_n + 2u_n(t) + u_{n+1}(t)}{h^2}\\\frac {u_{n+1}(t)-u_{n+1}(t)}{2h}\\u_0(t)=0\\u_n(0)=u_0\end{matrix}\right.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Método numérico ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al cambiar las condiciones de contorno, el valor estacionario de  la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt; es 0 es todos los puntos del tubo, lo que se traduce en que el contaminante desaparece por completo cuando el tiempo es muy grande.&lt;br /&gt;
&lt;br /&gt;
Será preciso calcular el error relativo en cada punto del tubo, obtener el valor absoluto y escoger el máximo valor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;error relativo=\cfrac{valor real-valor estacionario}{valor estacionario}=5  &amp;lt;/math&amp;gt;%&lt;br /&gt;
&lt;br /&gt;
El tiempo que se tarda en alcanzar el valor del 5% es dependiente del valor que consideramos como estacionario, que en nuestro caso será la concentración correspondiente a T=100 segundos desde que se inicia el ensayo (elegimos este tiempo ya que es suficientemente pequeño el valor de la concentración &amp;lt;math&amp;gt; u(x,t)&amp;lt;/math&amp;gt;). El resultado que se obtiene de tiempo para alcanzar dicho error del 5% es 99.49 segundos, quedando reflejado a continuación: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Método de Fourier ==&lt;br /&gt;
&lt;br /&gt;
Para la resolución del sistema mediante el método de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(u_t-u_xx=0@u_x (0,t)=0 @u_x (L,t)=0@u(x,t)=u_0@)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Buscaremos soluciones del tipo &amp;lt;math&amp;gt;u(x,t)=X(x)T(t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;XT^'-X^('') T=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T'/T=X''/X=-μ&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema de autovalores asociado, será:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;{█(X^''-μX=0@X'(0)=0@X^' (L)=0)┤&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;μ_k=(〖kπ/L)〗^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;φ_k=cos⁡(nπ/L x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por otro lado, la ecuación diferencial que debe cumplir T(t) es&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;〖T^'〗_k (t)-μ_k T_k (t)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resolviéndola obtenemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  T_k (t)=C_k e^(μ_k t)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entonces, la solución aproximada mediante el método de Fourier es la siguiente&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u(x,t)=∑_(k=1)^K▒〖C_k e^(-μt) φ_k 〗&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación se muestra el código de matlab que resuelve el problema mediante Fourier usando 1, 3, 5, 10 y 20 términos de la serie.&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Ecuaciones Diferentiales]]&lt;br /&gt;
[[Categoría:ED13/14]]&lt;br /&gt;
[[Categoría:Trabajos 2013-14]]&lt;/div&gt;</summary>
		<author><name>P.gpeinado</name></author>	</entry>

	</feed>