<?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=%C3%81ngel+De+Lucas</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=%C3%81ngel+De+Lucas"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/%C3%81ngel_De_Lucas"/>
		<updated>2026-04-29T01:56:16Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84809</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84809"/>
				<updated>2025-03-17T23:43:56Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos calcular y representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|400px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más cada vez más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. De hecho, podemos observar este hecho directamente de la expresión de la solución fundamental del calor. La solución de la ecuación del calor unidimensional en una barra de longitud \( L = 1 \), con coeficiente de difusión \( D \) y condición inicial dada por una función gaussiana \( f(x) = e^{-x^2} \), se expresa como una serie de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t) = \sum_{n=1}^{\infty} A_n e^{-D (n\pi)^2 t} \sin(n\pi x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Solución que depende de D]- [Viendo la solución del apartado 3 me estoy dando cuenta que también depende de la longitud de la barra, si estuviésemos trabajando con el problema acotado podríamos ver como afectan estos dos parámetros al tiempo de difusión]&lt;br /&gt;
&lt;br /&gt;
Tomando el límite de D tendiendo a &amp;lt;math/&amp;gt; \infty &amp;lt;math/&amp;gt; vemos que u(x,t) tiende a 0, fijado un t determinado. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84808</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84808"/>
				<updated>2025-03-17T23:42:10Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos calcular y representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|400px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más cada vez más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. De hecho, podemos observar este hecho directamente de la expresión de la solución fundamental del calor. La solución de la ecuación del calor unidimensional en una barra de longitud \( L = 1 \), con coeficiente de difusión \( D \) y condición inicial dada por una función gaussiana \( f(x) = e^{-a(x - x_0)^2} \), se expresa como una serie de Fourier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t) = \sum_{n=1}^{\infty} A_n e^{-D (n\pi)^2 t} \sin(n\pi x),&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Solución que depende de D]- [Viendo la solución del apartado 3 me estoy dando cuenta que también depende de la longitud de la barra, si estuviésemos trabajando con el problema acotado podríamos ver como afectan estos dos parámetros al tiempo de difusión]&lt;br /&gt;
&lt;br /&gt;
Tomando el límite de D tendiendo a &amp;lt;math/&amp;gt; \infty &amp;lt;math/&amp;gt; vemos que u(x,t) tiende a 0, fijado un t determinado. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84807</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84807"/>
				<updated>2025-03-17T23:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos calcular y representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|400px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más cada vez más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. De hecho, podemos observar este hecho directamente de la expresión de la solución fundamental del calor:&lt;br /&gt;
&lt;br /&gt;
[Solución que depende de D]- [Viendo la solución del apartado 3 me estoy dando cuenta que también depende de la longitud de la barra, si estuviésemos trabajando con el problema acotado podríamos ver como afectan estos dos parámetros al tiempo de difusión]&lt;br /&gt;
&lt;br /&gt;
Tomando el límite de D tendiendo a &amp;lt;math/&amp;gt; \infty &amp;lt;math/&amp;gt; vemos que u(x,t) tiende a 0, fijado un t determinado. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84806</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84806"/>
				<updated>2025-03-17T23:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos calcular y representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más cada vez más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. De hecho, podemos observar este hecho directamente de la expresión de la solución fundamental del calor:&lt;br /&gt;
&lt;br /&gt;
[Solución que depende de D]- [Viendo la solución del apartado 3 me estoy dando cuenta que también depende de la longitud de la barra, si estuviésemos trabajando con el problema acotado podríamos ver como afectan estos dos parámetros al tiempo de difusión]&lt;br /&gt;
&lt;br /&gt;
Tomando el límite de D tendiendo a &amp;lt;math/&amp;gt; \infty &amp;lt;math/&amp;gt; vemos que u(x,t) tiende a 0, fijado un t determinado. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84805</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84805"/>
				<updated>2025-03-17T23:35:35Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos calcular y representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más cada vez más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. De hecho, podemos observar este hecho directamente de la expresión de la solución fundamental del calor:&lt;br /&gt;
&lt;br /&gt;
[Solución que depende de D]- [Viendo la solución del apartado 3 me estoy dando cuenta que también depende de la longitud de la barra, si estuviésemos trabajando con el problema acotado podríamos ver como afectan estos dos parámetros al tiempo de difusión]&lt;br /&gt;
&lt;br /&gt;
Tomando el límite de D tendiendo a &amp;lt;math/&amp;gt; \infty &amp;lt;math/&amp;gt; vemos que u(x,t) tiende a 0, fijado un t determinado. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84802</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84802"/>
				<updated>2025-03-17T23:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Códigos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84799</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84799"/>
				<updated>2025-03-17T23:16:16Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|300px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84798</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84798"/>
				<updated>2025-03-17T23:15:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;math/&amp;gt; D &amp;lt;math/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84797</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84797"/>
				<updated>2025-03-17T23:14:28Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Coeficiente de difusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
Demos por conocidos el uso de separación de variables para resolver problemas de autofunciones en caso acotado y el manejo de la solución fundamental junto con la convolución para el sistema no acotado. Para comparar todas las soluciones correspondientes, consideremos sistema &amp;lt;math&amp;gt; 1-&amp;lt;/math&amp;gt;dimensional, con una gaussiana &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; como condición inicial. La justificación de una curva así puede ser, en un experimento físico, el uso de un láser para calentar un punto de una tira fina de metal. Considerando que los fotones puedan desviarse como una distribución normal por el teorema central del límite, es un montaje experimental factible. Además, es una función continua y diferenciable, par y asintóticamente nula, buenas propiedades para un estado inicial del sistema. Pongamos ahora dos posibles condiciones en las fronteras.&lt;br /&gt;
&lt;br /&gt;
Si consideramos de Dirichlet, a una tira de longitud &amp;lt;math&amp;gt; 2a &amp;lt;/math&amp;gt; le colocaremos en los extremos un material que se mantenga siempre a la misma temperatura, pongamos que a una temperatura nula. El sistema resulta&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0, x\in [-a,a]\\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2} \quad  &amp;amp;\forall x\in [-a,a]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, con un flujo nulo que físicamente viene de poner extremos aislantes. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad  &amp;amp;\forall t &amp;gt; 0 , x\in [-b,b]\\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  &amp;amp;\forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. \quad &amp;amp;\forall x\in[-b,b]&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un último detalle antes de proceder a los errores es la obtención simbólica de la solución no acotada, realizada a mano y mediante Maple.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{align}&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \quad &amp;amp;\forall t&amp;gt;0, x\in \mathbb{R}\\  &lt;br /&gt;
u(x,0) = e^{-x^2} \quad &amp;amp;\forall x\in \mathbb{R}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{align}&lt;br /&gt;
\Longrightarrow&lt;br /&gt;
u(x,t) = \frac{1}{\sqrt{4\pi t}}e^{\frac{-x^2}{4t}} * e^{-x^2} = \frac{e^{\frac{-x^2}{4t+1}}}{\sqrt{4t+1}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora que pasamos a los errores, es relevante indicar la naturaleza numérica de los cálculos y la acumulación de errores en estos. Con esto en mente, queremos comprobar cuán bien aproximan las soluciones del caso acotado Dirichlet y Neumann a la obtenida por la solución fundamental. Para ello, escojamos un tiempo máximo &amp;lt;math&amp;gt;t_{max} &amp;lt;/math&amp;gt; hasta el cuál tomaremos el error en norma &amp;lt;math&amp;gt; L^{\infty} &amp;lt;/math&amp;gt;. Queremos estudiar&lt;br /&gt;
&lt;br /&gt;
* El efecto de aumentar el rango de definición con &amp;lt;math&amp;gt; a,b &amp;lt;/math&amp;gt;.&lt;br /&gt;
* El efecto de aumentar el número de términos en las series de los sistemas acotados.&lt;br /&gt;
* La relación entre estos parámetros, especialmente consecuencias por error acumulado.&lt;br /&gt;
&lt;br /&gt;
=Coeficiente de difusión=&lt;br /&gt;
&lt;br /&gt;
Vamos a interpretar como influye exactamente el coeficiente de difusión en la solución de la ecuación del calor. Imaginemos por un segundo que tenemos varias barras (cada una de un material diferente) y queremos estudiar como se difunde el calor a través de cada una de ellas. Usando Matlab podemos representar fácilmente la solución del problema para diferentes valores del coeficiente de difusión, que denotaremos por &amp;lt;\math&amp;gt; D &amp;lt;math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
Como se puede observar en la animación, fijado un tiempo, a medida que crece el valor del coeficiente de difusión el pico de la solución fundamental se va haciendo más pequeño, es decir, a mayor coeficiente de difusión, menor es el tiempo que tarda en expandirse el calor. Por tanto, podemos concluir que la solución del calor alcanzará el estado estacionario antes si su coeficiente del calor es mayor.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84755</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84755"/>
				<updated>2025-03-17T20:44:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Solución acotada vs Solución no acotada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
En esta sección se dará por conocida la solución fundamental y el método de separación de variables.&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor bidimensional sobre una barra metálica de longitud &amp;lt;math&amp;gt;2a, a&amp;gt;0&amp;lt;/math&amp;gt; con condiciones Dirichlet en la frontera:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Físicamente, podemos interpretar que en el instante inicial hay una fuente de calor en el centro de la barra -o dos fuentes de frío a temperatura constante en los extremos- y éste se esparce por la barra. Matemáticamente, se usará la paridad de la función &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; ya que para &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; muy grandes o muy pequeños tiende a cero. A partir del instante inicial, los extremos de la barra se fuerzan a temperatura cero. La solución al resolver el problema de autofunciones viene dada por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado y con la misma interpretación física para el instante inicial. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84738</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84738"/>
				<updated>2025-03-17T19:35:45Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no sólo permitió comprender mejor este fenómeno físico, sino que también promovió el desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior. En esta ocasión, profundicemos en dos aspectos de este modelo.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, estas ecuaciones permiten la modelización de fenómenos como el calentamiento de materiales o la difusión de solutos en fluidos estacionarios, como ya hemos explorado en algunos ejercicios. Sin embargo, la influencia de la física es más profunda: de hecho, el coeficiente de difusión lleva su nombre por la interpretación física de su acción en el sistema. ¿Cuál es este efecto, y por qué se lo denota de esta forma?&lt;br /&gt;
&lt;br /&gt;
Al tiempo que exploramos este efecto, planteemos también el paso entre problemas de dominio acotado y los de no acotado. Parecería evidente que estos últimos se extiendan naturalmente con los anteriores, pero en el desarrollo teórico de clase se obtenían mediante soluciones autosimilares en vez de problemas de autofunciones. ¿Convergen las soluciones del sistema acotado a la del no acotado cuando el dominio crece lo suficiente? Y de ser así, ¿qué condiciones de frontera en una dimensión funcionan mejor?&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
En esta sección se dará por conocida la solución fundamental y el método de separación de variables.&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor bidimensional sobre una barra metálica de longitud &amp;lt;math&amp;gt;2a, a&amp;gt;0&amp;lt;/math&amp;gt; con condiciones Dirichlet en la frontera:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Físicamente, podemos interpretar que en el instante inicial hay una fuente de calor en el centro de la barra -o dos fuentes de frío a temperatura constante en los extremos- y éste se esparce por la barra. Matemáticamente, se usará la paridad de la función &amp;lt;math&amp;gt; e^{-x^2} &amp;lt;/math&amp;gt; y que para &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; muy grandes o muy pequeños tiende a cero. A partir del instante inicial, los extremos de la barra se fuerzan a temperatura cero. La solución al resolver el problema de autofunciones viene dada por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado y con la misma interpretación física para el instante inicial. Para cierto &amp;lt;math&amp;gt; b &amp;gt; 0,&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = e^{-x^2}. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, obteniendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=0}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fundamental.gif|500px|thumb|right|Solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. La representación gráfica parte del tiempo inicial &amp;lt;math/&amp;gt; 0.01, &amp;lt;math/&amp;gt; esperando una delta de Dirac en el instante inicial. Nótese que en este tiempo, a mayor coeficiente de difusión más se ha difundido el calor en el sistema, lo que se nota especialmente en el valor máximo observado y su disminución cuanto más crece el coeficiente.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la solución fundamental de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,2,3,4,5,6,7,8,9,10];&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Fundamental.gif';&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for i = 1:length(DD)&lt;br /&gt;
    D = DD(i);&lt;br /&gt;
&lt;br /&gt;
    % Función fundamental de la ecuación del calor&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -1:0.01:1;         % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
    [X, T] = meshgrid(xx, tt); % Malla de coordenadas&lt;br /&gt;
    PHI_D = phi_D(X, T);   % Evaluación de la función&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    surf(X, T, PHI_D);&lt;br /&gt;
    shading flat&lt;br /&gt;
    shading interp&lt;br /&gt;
    colormap('jet')&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)$', 'Interpreter', 'latex');&lt;br /&gt;
    title(['Solución fundamental de la ecuación del calor, cuando D=', num2str(D)])&lt;br /&gt;
    axis([-1, 1, 0, 1, 0, 3])&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if i == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Convoluciones_teorica.gif|500px|thumb|right|Soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;matlab&amp;quot;&amp;gt;&lt;br /&gt;
%%% Código generado junto con Chat GPT para la representación de la soluciones de la ecuación del calor unidimensional para distintos valores del coeficiente de difusión. &lt;br /&gt;
&lt;br /&gt;
clc&lt;br /&gt;
clear all&lt;br /&gt;
close all&lt;br /&gt;
&lt;br /&gt;
% Vector de valores de D (coeficiente de difusión)&lt;br /&gt;
DD = [1,10,20,30,40,50,60,70,80,90,100];&lt;br /&gt;
&lt;br /&gt;
% Función gaussiana&lt;br /&gt;
gaus = @(x) (exp(-x.^2));&lt;br /&gt;
&lt;br /&gt;
% Nombre del archivo GIF de salida&lt;br /&gt;
output_gif = 'Convoluciones_teorica.gif'; &lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figura = figure(1);&lt;br /&gt;
grid on;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
% Bucle para iterar sobre cada valor de D&lt;br /&gt;
for h = 1:length(DD)&lt;br /&gt;
    D = DD(h);&lt;br /&gt;
&lt;br /&gt;
    % Funciones fundamentales y convolución&lt;br /&gt;
    phi_D = @(x, t) exp(-x.^2./(4*D*t))./sqrt(4*D*pi*t);&lt;br /&gt;
    convo = @(x,t) (exp(-x.^2./(4*D.*t+1))/sqrt(4*D.*t+1));&lt;br /&gt;
&lt;br /&gt;
    % Definición de la malla&lt;br /&gt;
    xx = -10:0.1:10;        % Rango de x&lt;br /&gt;
    tt = 10^(-2):0.01:1;   % Rango de t&lt;br /&gt;
&lt;br /&gt;
    % Inicialización de la matriz de convolución&lt;br /&gt;
    conv = zeros(length(xx), length(tt));&lt;br /&gt;
&lt;br /&gt;
    % Cálculo de la convolución&lt;br /&gt;
    for j = 1:length(tt) &lt;br /&gt;
        auxt = tt(j);&lt;br /&gt;
        for i = 1:length(xx)&lt;br /&gt;
            auxx = xx(i);&lt;br /&gt;
            val_conv(i,j) = convo(auxx, auxt);&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % Graficar la superficie&lt;br /&gt;
    clf;&lt;br /&gt;
    hold on;&lt;br /&gt;
    view(3);&lt;br /&gt;
    surf(xx, tt, val_conv.');&lt;br /&gt;
    xlabel('x');&lt;br /&gt;
    ylabel('t');&lt;br /&gt;
    zlabel('$\Phi_D(x,t)*N(x)$', 'Interpreter', 'latex');&lt;br /&gt;
    shading flat;&lt;br /&gt;
    shading interp;&lt;br /&gt;
    colormap('jet');&lt;br /&gt;
    title(['Soluciones en dominio no acotado, cuando D=', num2str(D)]);&lt;br /&gt;
    axis([-10, 10, 0, 1, 0, 1]);&lt;br /&gt;
    hold off;&lt;br /&gt;
    drawnow;&lt;br /&gt;
&lt;br /&gt;
    % Captura de la imagen para el GIF&lt;br /&gt;
    frame = getframe(figura);&lt;br /&gt;
    img = frame2im(frame);&lt;br /&gt;
    [imind, cm] = rgb2ind(img, 256);&lt;br /&gt;
&lt;br /&gt;
    % Escribir la imagen en el archivo GIF&lt;br /&gt;
    if h == 1&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'LoopCount', Inf, 'DelayTime', 0.7);&lt;br /&gt;
    else&lt;br /&gt;
        imwrite(imind, cm, output_gif, 'gif', 'WriteMode', 'append', 'DelayTime', 0.7);&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Referencias =&lt;br /&gt;
&lt;br /&gt;
* Sandro Salsa, Gianmaria Verzini. Partial Differential Equations in Action From Modelling to Theory ([https://link.springer.com/book/10.1007/978-3-031-21853-8 [1&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84344</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84344"/>
				<updated>2025-03-16T09:48:15Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Solución acotada vs Solución no acotada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo, formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no solo permitió comprender mejor este fenómeno físico, sino que también llevó al desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, es natural abordar este problema en un dominio acotado, como una barra metálica de longitud finita, dado que los sistemas reales suelen estar limitados en el espacio. Sin embargo, el afán de abstracción y generalización característico de la matemática llevó a Fourier a considerar también el caso de un dominio no acotado, es decir, una barra metálica de longitud infinita.&lt;br /&gt;
&lt;br /&gt;
En este trabajo, analizamos cómo varían las soluciones de la ecuación del calor en dominios acotados y no acotados, identificando sus diferencias y explorando sus implicaciones en la modelización de procesos físicos reales.&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor bidimensional sobre una barra metálica de longitud &amp;lt;math&amp;gt;2a, a&amp;gt;0&amp;lt;/math&amp;gt; con condiciones Dirichlet en la frontera:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cuya solución al resolver el problema de autofunciones viene dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado. Para cierto &amp;lt;math&amp;gt; a \in \mathbb{R}&amp;lt;/math&amp;gt; consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, con &amp;lt;math&amp;gt; b \in \mathbb{R}&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Obteniendo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=1}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
=Códigos=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84340</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84340"/>
				<updated>2025-03-16T08:58:37Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* To do list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo, formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no solo permitió comprender mejor este fenómeno físico, sino que también llevó al desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, es natural abordar este problema en un dominio acotado, como una barra metálica de longitud finita, dado que los sistemas reales suelen estar limitados en el espacio. Sin embargo, el afán de abstracción y generalización característico de la matemática llevó a Fourier a considerar también el caso de un dominio no acotado, es decir, una barra metálica de longitud infinita.&lt;br /&gt;
&lt;br /&gt;
En este trabajo, analizamos cómo varían las soluciones de la ecuación del calor en dominios acotados y no acotados, identificando sus diferencias y explorando sus implicaciones en la modelización de procesos físicos reales.&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor con condiciones Dirichlet cero en la frontera con cierto &amp;lt;math&amp;gt; a \in \mathbb{R} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cuya solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado. Para cierto &amp;lt;math&amp;gt; a \in \mathbb{R}&amp;lt;/math&amp;gt; consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, con &amp;lt;math&amp;gt; b \in \mathbb{R}&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Obteniendo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=1}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
=Códigos=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84339</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84339"/>
				<updated>2025-03-16T08:56:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra ''Théorie analytique de la chaleur''. En este trabajo, formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no solo permitió comprender mejor este fenómeno físico, sino que también llevó al desarrollo de las Series de Fourier, que fueron objeto de estudio en nuestro trabajo anterior.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, es natural abordar este problema en un dominio acotado, como una barra metálica de longitud finita, dado que los sistemas reales suelen estar limitados en el espacio. Sin embargo, el afán de abstracción y generalización característico de la matemática llevó a Fourier a considerar también el caso de un dominio no acotado, es decir, una barra metálica de longitud infinita.&lt;br /&gt;
&lt;br /&gt;
En este trabajo, analizamos cómo varían las soluciones de la ecuación del calor en dominios acotados y no acotados, identificando sus diferencias y explorando sus implicaciones en la modelización de procesos físicos reales.&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
7) Introducción con cosas reales y prácticas&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor con condiciones Dirichlet cero en la frontera con cierto &amp;lt;math&amp;gt; a \in \mathbb{R} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cuya solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado. Para cierto &amp;lt;math&amp;gt; a \in \mathbb{R}&amp;lt;/math&amp;gt; consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, con &amp;lt;math&amp;gt; b \in \mathbb{R}&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Obteniendo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=1}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
=Códigos=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84337</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84337"/>
				<updated>2025-03-16T08:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente a Joseph Fourier, quien en 1822 publicó su obra Théorie analytique de la chaleur. En este trabajo, Fourier formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no solo permitió comprender mejor este fenómeno físico, sino que también llevó al desarrollo de las Series de Fourier, que estudiamos en el trabajo anterior.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, es natural estudiar este problema en un dominio acotado, como una barra metálica de longitud finita, dado que los sistemas reales suelen estar limitados en el espacio. Sin embargo, la tendencia de todo matemático es la abstracción y la generalización, lo que llevó a Fourier, que fue matemático y físico, a considerar también el caso de un dominio no acotado, es decir, una barra metálica de longitud infinita.&lt;br /&gt;
&lt;br /&gt;
En este trabajo, exploramos las diferencias entre las soluciones de la ecuación del calor en dominios acotados y no acotados, analizando si estas presentan comportamientos distintos y qué implicaciones tienen en la modelización de procesos físicos reales.&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
7) Introducción con cosas reales y prácticas&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor con condiciones Dirichlet cero en la frontera con cierto &amp;lt;math&amp;gt; a \in \mathbb{R} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cuya solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado. Para cierto &amp;lt;math&amp;gt; a \in \mathbb{R}&amp;lt;/math&amp;gt; consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, con &amp;lt;math&amp;gt; b \in \mathbb{R}&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Obteniendo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=1}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
=Códigos=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84336</id>
		<title>Ecuación del calor (ADMR)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(ADMR)&amp;diff=84336"/>
				<updated>2025-03-16T08:49:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor (Grupo ADMR). | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | &lt;br /&gt;
*Ángel De Lucas Miranda, &lt;br /&gt;
*Daniel Rodríguez Calderón, &lt;br /&gt;
*Marcos Cabellos Hernández, &lt;br /&gt;
*Rafael Pascual Ortega.}}&lt;br /&gt;
&lt;br /&gt;
=Introducción=&lt;br /&gt;
&lt;br /&gt;
El desarrollo de la ecuación del calor se atribuye principalmente al matemático y físico francés Joseph Fourier, quien en 1822 publicó su obra Théorie analytique de la chaleur. En este trabajo, Fourier formuló una ecuación diferencial en derivadas parciales que describe la propagación del calor por difusión en un medio continuo. Su análisis no solo permitió comprender mejor este fenómeno físico, sino que también llevó al desarrollo de las Series de Fourier, que estudiamos en el trabajo anterior.&lt;br /&gt;
&lt;br /&gt;
Desde un punto de vista físico, es natural estudiar este problema en un dominio acotado, como una barra metálica de longitud finita, dado que los sistemas reales suelen estar limitados en el espacio. Sin embargo, la tendencia de todo matemático es la abstracción y la generalización, lo que llevó a Fourier, que fue matemático y físico, a considerar también el caso de un dominio no acotado, es decir, una barra metálica de longitud infinita.&lt;br /&gt;
&lt;br /&gt;
En este trabajo, exploramos las diferencias entre las soluciones de la ecuación del calor en dominios acotados y no acotados, analizando si estas presentan comportamientos distintos y qué implicaciones tienen en la modelización de procesos físicos reales.&lt;br /&gt;
&lt;br /&gt;
=To do list=&lt;br /&gt;
&lt;br /&gt;
1) (Problema acot y sol)Damos la sol. con frontera 0 --&amp;gt; para extender mejor a no acot&lt;br /&gt;
2) Dibujinchis&lt;br /&gt;
3) (Problema no acot) Dar el problema, sol, dibujinchi&lt;br /&gt;
4) Comparar ambas sol. error cuadrático, y el unif. y error numérico para intervalos crecientes [-a,a]&lt;br /&gt;
&lt;br /&gt;
5) Pasar de Diric. a Neum. y dar la explicacion fis. de Neum. Dibujinchis comparación, solapadas&lt;br /&gt;
6) Ver cómo afecta la cte calorifica, densidad y k = relacion flujo gradiente (la D) en ambos casos.&lt;br /&gt;
&lt;br /&gt;
7) Introducción con cosas reales y prácticas&lt;br /&gt;
&lt;br /&gt;
=Solución acotada vs Solución no acotada=&lt;br /&gt;
&lt;br /&gt;
Vamos a considerar el siguiente problema de calor con condiciones Dirichlet cero en la frontera con cierto &amp;lt;math&amp;gt; a \in \mathbb{R} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u(-a,t) = u(a,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cuya solución al resolver el problema de autofunciones viene dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{n=1}^\infty A_{n} \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right) e^{-\dfrac{\pi^2}{a^2}\left(n - \frac{1}{2}\right)^2 t}&lt;br /&gt;
\quad \text{ donde }&lt;br /&gt;
A_n = \frac{\int_{-a}^{a} u(x,0) \cos\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}{\int_{-a}^{a} \cos^2\left(\frac{\pi}{a}(n - \frac{1}{2}) x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consideremos ahora condiciones de frontera Neumann, de forma que el sistema quede aislado. Para cierto &amp;lt;math&amp;gt; a \in \mathbb{R}&amp;lt;/math&amp;gt; consideraremos la ecuación del calor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
\begin{cases} u_{t} - u_{xx} = 0 \\ &lt;br /&gt;
u_x(-b,t) = u_x(b,t) = 0 \quad  \forall t &amp;gt; 0 \\ &lt;br /&gt;
u(x,0) = Gaus. &lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De nuevo podemos resolver el sistema, por ser homogéneo, mediante separación de variables, con &amp;lt;math&amp;gt; b \in \mathbb{R}&amp;lt;/math&amp;gt; y no necesariamente igual que con &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt;. Obteniendo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\quad&lt;br /&gt;
&lt;br /&gt;
u(x,t) = \sum_{m=1}^\infty B_{m} cos\left(\frac{m\pi}{b} x\right) e^{-\dfrac{m^2\pi^2}{b^2} t}\quad \text{ donde }&lt;br /&gt;
B_m = \frac{\int_{-b}^{b} u(x,0) \cos\left(\frac{m\pi}{b} x\right)dx}{\int_{-b}^{b} \cos^2\left(\frac{m\pi}{b}x\right)dx}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veamos si, para valores de &amp;lt;math&amp;gt; a \text{y} b &amp;lt;/math&amp;gt; grandes, las soluciones previamente halladas distan mucho entre sí, es decir, vamos a estudiar los errores y las diferencias que hay entre ambas soluciones.&lt;br /&gt;
&lt;br /&gt;
=Códigos=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84123</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84123"/>
				<updated>2025-02-15T09:50:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Empecemos por extender de forma par la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;. Observamos como en los puntos de discontinuidad la serie de Fourier sobrepasa superior e inferiormente a la función original. En el resto de puntos tenemos convergencia puntual.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Función a trozos extendida: devuelve 1 en [-0.25, 0.25], 0 en otro caso&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f, a, b, n):&lt;br /&gt;
    # Calcula los coeficientes de Fourier para una función f en [a, b]&lt;br /&gt;
    T = b - a  # Periodo&lt;br /&gt;
    x = np.linspace(a, b, 400)  # Puntos de evaluación&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = []  # Lista para almacenar los coeficientes&lt;br /&gt;
&lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        val_cos = np.cos(2 * np.pi * j * x / T)  # Base coseno&lt;br /&gt;
        aux = np.trapz(val_f * val_cos, x) * (2 / T)  &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
    &lt;br /&gt;
    return a_coef&lt;br /&gt;
&lt;br /&gt;
def aprox_fourier_par(a_coef, T, x, n):&lt;br /&gt;
    # Aproxima la función usando la serie de Fourier hasta el término n&lt;br /&gt;
    aux = a_coef[0] / 2  # Término constante&lt;br /&gt;
    for i in range(1, n+1):&lt;br /&gt;
        aux += a_coef[i] * np.cos(2 * np.pi * i * x / T)  &lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original (aproximadamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado). Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier en función del número de términos \( n \) considerados en la suma.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300  # Número de aproximaciones a calcular&lt;br /&gt;
error_L2, error_sup = [], []  # Listas para almacenar los errores&lt;br /&gt;
&lt;br /&gt;
# Obtenemos los primeros z coeficientes de Fourier&lt;br /&gt;
a_coef = coef_fourier(f, a, b, z)  &lt;br /&gt;
&lt;br /&gt;
# Definimos el intervalo de integración [0,1]&lt;br /&gt;
intervalo = np.linspace(0, 1, 200)  &lt;br /&gt;
y_real = f(np.array(intervalo))  # Valores reales de la función&lt;br /&gt;
&lt;br /&gt;
# Calculamos errores para cada aproximación&lt;br /&gt;
for k in range(1, z + 1):&lt;br /&gt;
    y_aprox = [aprox_fourier_par(a_coef[:k+1], T, j, k) for j in intervalo]&lt;br /&gt;
    &lt;br /&gt;
    # Cálculo del error en norma L² y norma supremo&lt;br /&gt;
    error_L2.append(np.sqrt(np.trapz(abs(y_real - y_aprox)**2, x)))&lt;br /&gt;
    error_sup.append(max(abs(y_real - y_aprox)))&lt;br /&gt;
&lt;br /&gt;
# Eje x: número de términos en la aproximación&lt;br /&gt;
valor_n = list(range(1, z + 1))&lt;br /&gt;
&lt;br /&gt;
# Graficamos los errores&lt;br /&gt;
plt.plot(valor_n, error_sup, color=&amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n, error_L2, color=&amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('Número de términos')&lt;br /&gt;
plt.ylabel('Error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error de aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, mostraremos dos métodos diferentes para suavizar el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y Sumas de Abel ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n. Otro método para suavizar el fenómeno de Gibbs se conoce como las sumas de Abel. Una sucesión  \( \sigma_N = \sum_{n=0}^{N} S_n \) se dice que es sumable de Abel a \( f \) si para cada \( 0 \leq r &amp;lt; 1 \), la serie  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A(r) = \sum_{n=0}^{\infty} S_n r^n&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
converge, y  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\lim_{r \to 1} A(r) = f.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Las cantidades \( A(r) \) se llaman la media de Abel de la sucesión. Cuando aplicamos las sumas de Abel a las series de Fourier el térimino &amp;lt;math&amp;gt;r^i&amp;lt;/math&amp;gt; actúa como suavizador de las oscilaciones en los puntos de discontinuidad. Se puede probar que si la serie converge a \( f \) entonces la sucesión es sumable de Abel a \( f \). Además, la condición de ser Abel sumable es más fuerte que la condición de convergencia en las sumas de Cesàro. Veamos con el ejemplo inicial como estos dos métodos ayudan a mitigar el fenómeno de Gibbs.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; text-align:center; width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
    [[Archivo:Sumas_cesaro_MECA.gif|300px|thumb|Sumas de Cesàro aplicadas a la función \( 1_{x \leq 1/4}(x) \). En la imagen se va aumentando el número de términos usados en la suma de Cesàro.]]  &lt;br /&gt;
    [[Archivo:Error_aprox_Cesaro_MECA.png|300px|thumb|Error cometido por la aproximación usando sumas de Cesàro. Observamos que el error con la norma del supremo tiene menos oscilaciones que en la aproximación de Fourier, lo cual indica que efectivamente se está mitigando el fenómeno de Gibbs.]]  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; text-align:center; width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
    [[Archivo:Abel_MECA.gif|300px|thumb|Sumas de Abel aplicadas a la función \( 1_{x \leq 1/4}(x) \). En la imagen el número de términos usados en la suma es fijo, \( 300 \), y varía el parámetro suavizador \( r \).]]  &lt;br /&gt;
    [[Archivo:Error_aprox_Abel_MECA.png|300px|thumb|Error cometido por la aproximación usando sumas de Abel con \(r=0.98\). En este caso también se cumple que el error con la norma del supremo tiene menos oscilaciones.]]  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def cesaro(f, a, b, n, x):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calcula la aproximación de Fourier utilizando las sumas de Cesàro.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    a_coef = coef_fourier(f, a, b, n)  &lt;br /&gt;
    T = b - a  # Período de la función&lt;br /&gt;
&lt;br /&gt;
    aux = 0&lt;br /&gt;
    # Sumamos las aproximaciones parciales de Fourier hasta el orden n+1&lt;br /&gt;
    for i in range(n + 2):&lt;br /&gt;
        aux += aprox_fourier_par(a_coef[:i], T, x, i)&lt;br /&gt;
&lt;br /&gt;
    aux = aux/(n + 1)  # Calculamos el promedio para la suma de Cesàro&lt;br /&gt;
    return aux &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def Abel(a_coef, T, x, n, r):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calcula la aproximación de Fourier utilizando las sumas de Abel.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    aux = a_coef[0] / 2  &lt;br /&gt;
&lt;br /&gt;
    # Se suman los términos de la serie ponderados por el factor r^i&lt;br /&gt;
    for i in range(1, n + 1):&lt;br /&gt;
        aux += (a_coef[i] * np.cos(2 * np.pi * i * x / T)) * (r ** i)&lt;br /&gt;
&lt;br /&gt;
    return aux  &lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Bibliografía ==&lt;br /&gt;
&lt;br /&gt;
* '''Stein, Elias M. &amp;amp; Shakarchi, R.''' (2003). ''Fourier Analysis: An Introduction''. Princeton University Press.   &lt;br /&gt;
&lt;br /&gt;
* '''Wikipedia, la enciclopedia libre'''. ''Fenómeno de Gibbs''. &lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Error_aprox_Abel_MECA.png&amp;diff=84120</id>
		<title>Archivo:Error aprox Abel MECA.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Error_aprox_Abel_MECA.png&amp;diff=84120"/>
				<updated>2025-02-15T09:35:26Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Error_aprox_Cesaro_MECA.png&amp;diff=84119</id>
		<title>Archivo:Error aprox Cesaro MECA.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Error_aprox_Cesaro_MECA.png&amp;diff=84119"/>
				<updated>2025-02-15T09:35:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84104</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84104"/>
				<updated>2025-02-15T01:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Empecemos por extender de forma par la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;. Observamos como en los puntos de discontinuidad la serie de Fourier sobrepasa superior e inferiormente a la función original. En el resto de puntos tenemos convergencia puntual.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Función a trozos extendida: devuelve 1 en [-0.25, 0.25], 0 en otro caso&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f, a, b, n):&lt;br /&gt;
    # Calcula los coeficientes de Fourier para una función f en [a, b]&lt;br /&gt;
    T = b - a  # Periodo&lt;br /&gt;
    x = np.linspace(a, b, 400)  # Puntos de evaluación&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = []  # Lista para almacenar los coeficientes&lt;br /&gt;
&lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        val_cos = np.cos(2 * np.pi * j * x / T)  # Base coseno&lt;br /&gt;
        aux = np.trapz(val_f * val_cos, x) * (2 / T)  &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
    &lt;br /&gt;
    return a_coef&lt;br /&gt;
&lt;br /&gt;
def aprox_fourier_par(a_coef, T, x, n):&lt;br /&gt;
    # Aproxima la función usando la serie de Fourier hasta el término n&lt;br /&gt;
    aux = a_coef[0] / 2  # Término constante&lt;br /&gt;
    for i in range(1, n+1):&lt;br /&gt;
        aux += a_coef[i] * np.cos(2 * np.pi * i * x / T)  &lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original (aproximadamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado). Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier en función del número de términos \( n \) considerados en la suma.]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300  # Número de aproximaciones a calcular&lt;br /&gt;
error_L2, error_sup = [], []  # Listas para almacenar los errores&lt;br /&gt;
&lt;br /&gt;
# Obtenemos los primeros z coeficientes de Fourier&lt;br /&gt;
a_coef = coef_fourier(f, a, b, z)  &lt;br /&gt;
&lt;br /&gt;
# Definimos el intervalo de integración [0,1]&lt;br /&gt;
intervalo = np.linspace(0, 1, 200)  &lt;br /&gt;
y_real = f(np.array(intervalo))  # Valores reales de la función&lt;br /&gt;
&lt;br /&gt;
# Calculamos errores para cada aproximación&lt;br /&gt;
for k in range(1, z + 1):&lt;br /&gt;
    y_aprox = [aprox_fourier_par(a_coef[:k+1], T, j, k) for j in intervalo]&lt;br /&gt;
    &lt;br /&gt;
    # Cálculo del error en norma L² y norma supremo&lt;br /&gt;
    error_L2.append(np.sqrt(np.trapz(abs(y_real - y_aprox)**2, x)))&lt;br /&gt;
    error_sup.append(max(abs(y_real - y_aprox)))&lt;br /&gt;
&lt;br /&gt;
# Eje x: número de términos en la aproximación&lt;br /&gt;
valor_n = list(range(1, z + 1))&lt;br /&gt;
&lt;br /&gt;
# Graficamos los errores&lt;br /&gt;
plt.plot(valor_n, error_sup, color=&amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n, error_L2, color=&amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('Número de términos')&lt;br /&gt;
plt.ylabel('Error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error de aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, mostraremos dos métodos diferentes para suavizar el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y Sumas de Abel ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n. Otro método para suavizar el fenómeno de Gibbs se conoce como las sumas de Abel. Una sucesión  \( \sigma_N = \sum_{n=0}^{N} S_n \) se dice que es sumable de Abel a \( f \) si para cada \( 0 \leq r &amp;lt; 1 \), la serie  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A(r) = \sum_{n=0}^{\infty} S_n r^n&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
converge, y  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\lim_{r \to 1} A(r) = f.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Las cantidades \( A(r) \) se llaman la media de Abel de la sucesión. Cuando aplicamos las sumas de Abel a las series de Fourier el térimino &amp;lt;math&amp;gt;r^i&amp;lt;/math&amp;gt; actúa como suavizador de las oscilaciones en los puntos de discontinuidad. Se puede probar que si la serie converge a \( f \) entonces la sucesión es sumable de Abel a \( f \). Además, la condición de ser Abel sumable es más fuerte que la condición de convergencia en las sumas de Cesàro. Veamos con el ejemplo inicial como estos dos métodos ayudan a mitigar el fenómeno de Gibbs.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; text-align:center; width:320px;&amp;quot;&amp;gt;&lt;br /&gt;
    [[Archivo:Sumas_cesaro_MECA.gif|300px|thumb|Sumas de Cesàro aplicadas a la función \( 1_{x \leq 1/4}(x) \). En el imagen se va aumentando el número de términos que se usan en la suma de Cesáro.]]  &lt;br /&gt;
    [[Archivo:Abel_MECA.gif|300px|thumb|Sumas de Abel aplicadas a la función \( 1_{x \leq 1/4}(x) \). En la imagen se deja el número de términos que aparecen en la suma fijo, en este caso \( 300 \), y varía el parámetro suavizador \( r \)]]  &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def cesaro(f, a, b, n, x):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calcula la suma de Cesàro para una serie de Fourier.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    a_coef = coef_fourier(f, a, b, n)  # Calculamos los coeficientes de Fourier&lt;br /&gt;
    T = b - a  # Período de la función&lt;br /&gt;
&lt;br /&gt;
    # Promediamos las sumas parciales de Fourier hasta el término n&lt;br /&gt;
    cesaro_sum = sum(aprox_fourier_par(a_coef[:i+1], T, x, i) for i in range(n+1)) / (n+1)&lt;br /&gt;
&lt;br /&gt;
    return cesaro_sum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def Abel(a_coef, T, x, n, r):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Calcula la suma de Abel para una serie de Fourier.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    abel_sum = a_coef[0] / 2  # Primer término (a_0 / 2)&lt;br /&gt;
&lt;br /&gt;
    # Aplicamos el factor de suavizado r^i a cada término de la serie&lt;br /&gt;
    for i in range(1, n+1):&lt;br /&gt;
        abel_sum += (a_coef[i] * np.cos(2 * np.pi * i * x / T)) * (r ** i)&lt;br /&gt;
&lt;br /&gt;
    return abel_sum&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Abel_MECA.gif&amp;diff=84103</id>
		<title>Archivo:Abel MECA.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Abel_MECA.gif&amp;diff=84103"/>
				<updated>2025-02-15T01:14:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84102</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84102"/>
				<updated>2025-02-15T00:51:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Empecemos por extender de forma par la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;. Es importante observar que el error tiende asintóticamente a &amp;lt;math&amp;gt;\approx 0.09 &amp;lt;/math&amp;gt;, precisamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; de &amp;lt;math&amp;gt; 1 &amp;lt;/math&amp;gt;, en el caso de la norma de &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, mostraremos dos métodos diferentes para suavizar el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y Sumas de Abel ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n. Otro método para suavizar el fenómeno de Gibbs se conoce como las sumas de Abel. Una sucesión  \( \sigma_N = \sum_{n=0}^{N} S_n \) se dice que es sumable de Abel a \( f \) si para cada \( 0 \leq r &amp;lt; 1 \), la serie  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A(r) = \sum_{n=0}^{\infty} S_n r^n&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
converge, y  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\lim_{r \to 1} A(r) = f.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Las cantidades \( A(r) \) se llaman la media de Abel de la sucesión. Se puede probar que si la serie converge a \( f \) entonces la sucesión es sumable de Abel a \( f \). Además, la condición de ser Abel sumable es más fuerte que la condición de convergencia en las sumas de Cesàro. Veamos con el ejemplo inicial como estos dos métodos ayudan a mitigar el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Sumas_cesaro_MECA.gif|600px|thumb|right| Sumas de Cesàro aplicadas a la función &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
def cesaro(f,a,b,n,x):&lt;br /&gt;
&lt;br /&gt;
    a_coef = coef_fourier(f,a,b,n)  &lt;br /&gt;
    T = b-a    &lt;br /&gt;
    aux = 0&lt;br /&gt;
&lt;br /&gt;
    for i in range(n+1):&lt;br /&gt;
        aux += aprox_fourier_par(a_coef[:i+1],T,x,i)&lt;br /&gt;
    end&lt;br /&gt;
    aux = aux/(n+1)&lt;br /&gt;
&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84101</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84101"/>
				<updated>2025-02-15T00:46:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Empecemos por extender de forma par la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;. Es importante observar que el error tiende asintóticamente a &amp;lt;math&amp;gt;\approx 0.09 &amp;lt;/math&amp;gt;, precisamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; de &amp;lt;math&amp;gt; 1 &amp;lt;/math&amp;gt;, en el caso de la norma de &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n. Otro método para suavizar el fenómeno de Gibbs consiste en las sumas de Abel. Una sucesión  \( \sigma_N = \sum_{n=0}^{N} S_n \) se dice que es sumable de Abel a \( f \) si para cada \( 0 \leq r &amp;lt; 1 \), la serie  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A(r) = \sum_{n=0}^{\infty} S_n r^n&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
converge, y  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\lim_{r \to 1} A(r) = f.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Las cantidades \( A(r) \) se llaman la media de Abel de la sucesión. Se puede probar que si la serie converge a \( f \) entonces la sucesión es sumable de Abel a \( f \). Además, la condición de ser Abel sumable es más fuerte que la de convergencia en las sumas de Cesàro. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Sumas_cesaro_MECA.gif|600px|thumb|right| Sumas de Cesàro aplicadas a la función &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
def cesaro(f,a,b,n,x):&lt;br /&gt;
&lt;br /&gt;
    a_coef = coef_fourier(f,a,b,n)  &lt;br /&gt;
    T = b-a    &lt;br /&gt;
    aux = 0&lt;br /&gt;
&lt;br /&gt;
    for i in range(n+1):&lt;br /&gt;
        aux += aprox_fourier_par(a_coef[:i+1],T,x,i)&lt;br /&gt;
    end&lt;br /&gt;
    aux = aux/(n+1)&lt;br /&gt;
&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84100</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84100"/>
				<updated>2025-02-15T00:42:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Para resolver este último problema, extendemos la función de forma par al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;. Es importante observar que el error tiende asintóticamente a &amp;lt;math&amp;gt;\approx 0.09 &amp;lt;/math&amp;gt;, precisamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; de &amp;lt;math&amp;gt; 1 &amp;lt;/math&amp;gt;, en el caso de la norma de &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n. Otro método para suavizar el fenómeno de Gibbs consiste en las sumas de Abel. Una sucesión  \( \sigma_N = \sum_{n=0}^{N} S_n \) se dice que es sumable de Abel a \( f \) si para cada \( 0 \leq r &amp;lt; 1 \), la serie  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A(r) = \sum_{n=0}^{\infty} S_n r^n&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
converge, y  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\lim_{r \to 1} A(r) = f.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Las cantidades \( A(r) \) se llaman la media de Abel de la sucesión. Se puede probar que si la serie converge a \( f \) entonces la sucesión es sumable de Abel a \( f \). Además, la condición de ser Abel sumable es más fuerte que la de convergencia en las sumas de Cesàro, toda serie que converge a \( f \) con las sumas de Cesàro es sumable de Abel a \( f \) también, sin embargo, no toda sucesión Abel sumable converge con las sumas de Cesàro (Ejemplo &amp;lt;math&amp;gt; \left( (-1)^k (k + 1) \right)_{k \in \mathbb{N}} &amp;lt;/math&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Sumas_cesaro_MECA.gif|600px|thumb|right| Sumas de Cesàro aplicadas a la función &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
def cesaro(f,a,b,n,x):&lt;br /&gt;
&lt;br /&gt;
    a_coef = coef_fourier(f,a,b,n)  &lt;br /&gt;
    T = b-a    &lt;br /&gt;
    aux = 0&lt;br /&gt;
&lt;br /&gt;
    for i in range(n+1):&lt;br /&gt;
        aux += aprox_fourier_par(a_coef[:i+1],T,x,i)&lt;br /&gt;
    end&lt;br /&gt;
    aux = aux/(n+1)&lt;br /&gt;
&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84099</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=84099"/>
				<updated>2025-02-15T00:31:38Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Para resolver este último problema, extendemos la función de forma par al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;. Es importante observar que el error tiende asintóticamente a &amp;lt;math&amp;gt;\approx 0.09 &amp;lt;/math&amp;gt;, precisamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; de &amp;lt;math&amp;gt; 1 &amp;lt;/math&amp;gt;, en el caso de la norma de &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n.&lt;br /&gt;
&lt;br /&gt;
Otro método para suavizar el fenómeno de Gibbs consiste en las sumas de Abel. Una sucesión  \( \sigma_N = \sum_{n=0}^{N} S_n \) se dice que es sumable de Abel a \( f \) si para cada \( 0 \leq r &amp;lt; 1 \), la serie  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A(r) = \sum_{n=0}^{\infty} S_n r^n&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
converge, y  &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\lim_{r \to 1} A(r) = f.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Las cantidades \( A(r) \) se llaman la media de Abel de la sucesión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este método mejora la estabilidad de la aproximación y reduce la magnitud de las sobreoscilaciones del fenómeno de Gibbs, aunque no las elimina por completo. Comprobemos esto numéricamente con el ejemplo anterior. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Sumas_cesaro_MECA.gif|600px|thumb|right| Sumas de Cesàro aplicadas a la función &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
def cesaro(f,a,b,n,x):&lt;br /&gt;
&lt;br /&gt;
    a_coef = coef_fourier(f,a,b,n)  &lt;br /&gt;
    T = b-a    &lt;br /&gt;
    aux = 0&lt;br /&gt;
&lt;br /&gt;
    for i in range(n+1):&lt;br /&gt;
        aux += aprox_fourier_par(a_coef[:i+1],T,x,i)&lt;br /&gt;
    end&lt;br /&gt;
    aux = aux/(n+1)&lt;br /&gt;
&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=83913</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=83913"/>
				<updated>2025-02-13T10:25:15Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son una herramienta matemática fundamental en ingeniería y diversas disciplinas, utilizada, entre otras aplicaciones, en la resonancia magnética (RM). En ocasiones, las imágenes obtenidas en RM presentan artefactos: falsas estructuras o manchas que pueden confundirse con quistes u otras patologías. Uno de los fenómenos que contribuye a la aparición de estos artefactos es el fenómeno de Gibbs, el cual se genera en presencia de discontinuidades en las señales. En este trabajo estudiaremos el fenómeno de Gibbs. &lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; por su serie de Fourier. Observamos que se trata de una función discontinua no periódica. Para resolver este último problema, extendemos la función de forma par al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;. Es importante observar que el error tiende asintóticamente a &amp;lt;math&amp;gt;\approx 0.09 &amp;lt;/math&amp;gt;, precisamente el &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; de &amp;lt;math&amp;gt; 1 &amp;lt;/math&amp;gt;, en el caso de la norma de &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n.&lt;br /&gt;
&lt;br /&gt;
Este método mejora la estabilidad de la aproximación y reduce la magnitud de las sobreoscilaciones del fenómeno de Gibbs, aunque no las elimina por completo. Comprobemos esto numéricamente con el ejemplo anterior. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Sumas_cesaro_MECA.gif|600px|thumb|right| Sumas de Cesàro aplicadas a la función &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
def cesaro(f,a,b,n,x):&lt;br /&gt;
&lt;br /&gt;
    a_coef = coef_fourier(f,a,b,n)  &lt;br /&gt;
    T = b-a    &lt;br /&gt;
    aux = 0&lt;br /&gt;
&lt;br /&gt;
    for i in range(n+1):&lt;br /&gt;
        aux += aprox_fourier_par(a_coef[:i+1],T,x,i)&lt;br /&gt;
    end&lt;br /&gt;
    aux = aux/(n+1)&lt;br /&gt;
&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Sumas_cesaro_MECA.gif&amp;diff=83712</id>
		<title>Archivo:Sumas cesaro MECA.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Sumas_cesaro_MECA.gif&amp;diff=83712"/>
				<updated>2025-02-11T23:46:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=83711</id>
		<title>Series de Fourier (Grupo MECA)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_MECA)&amp;diff=83711"/>
				<updated>2025-02-11T23:42:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: Página creada con «{{ TrabajoED | Series de Fourier (Grupo MECA) | EDP|2024-25 | Ángel De Lucas Miranda}}   ==Introducci...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son fundamentales en ingeniería y procesamiento de señales, ya que permiten descomponer cualquier señal periódica en una suma de senos y cosenos. Esto facilita el análisis y la manipulación de señales en numerosos campos. En telecomunicaciones y electrónica, se usan para modelar y procesar señales de audio, radio y vídeo, mejorando la transmisión y eliminación de ruido. En procesamiento de imágenes y sonido, permiten la compresión de datos (como en ''JPEG'' y ''MP3'') y la detección de patrones. En ingeniería eléctrica y control, se aplican al estudio de circuitos y sistemas dinámicos.&lt;br /&gt;
&lt;br /&gt;
Incluso cuando las señales presentan discontinuidades, como en pulsos digitales y ondas cuadradas, las series de Fourier siguen siendo una herramienta poderosa para analizar su comportamiento y optimizar su uso en la tecnología moderna.&lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; en el intervalo &amp;lt;math&amp;gt; [0,1] &amp;lt;/math&amp;gt;. Observamos que la función con la que estamos trabajando se trata de una función discontinua que no presenta ningún tipo de periodicidad, por ello, extendemos la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tal como se puede observar en la imagen el error tiende asintóticamente a &amp;lt;math&amp;gt; 0.09 &amp;lt;/math&amp;gt; (aproximadamente). Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n.&lt;br /&gt;
&lt;br /&gt;
Este método mejora la estabilidad de la aproximación y reduce la magnitud de las sobreoscilaciones del fenómeno de Gibbs, aunque no las elimina por completo. Comprobemos esto numéricamente con el ejemplo anterior. &lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Categor%C3%ADa_discusi%C3%B3n:EDP24/25&amp;diff=83710</id>
		<title>Categoría discusión:EDP24/25</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Categor%C3%ADa_discusi%C3%B3n:EDP24/25&amp;diff=83710"/>
				<updated>2025-02-11T23:38:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Categor%C3%ADa_discusi%C3%B3n:EDP24/25&amp;diff=83709</id>
		<title>Categoría discusión:EDP24/25</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Categor%C3%ADa_discusi%C3%B3n:EDP24/25&amp;diff=83709"/>
				<updated>2025-02-11T23:37:46Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: Página creada con «{{ TrabajoED | Series de Fourier (Grupo MECA) | EDP|2024-25 | Ángel De Lucas Miranda}}   ==Introducci...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son fundamentales en ingeniería y procesamiento de señales, ya que permiten descomponer cualquier señal periódica en una suma de senos y cosenos. Esto facilita el análisis y la manipulación de señales en numerosos campos. En telecomunicaciones y electrónica, se usan para modelar y procesar señales de audio, radio y vídeo, mejorando la transmisión y eliminación de ruido. En procesamiento de imágenes y sonido, permiten la compresión de datos (como en ''JPEG'' y ''MP3'') y la detección de patrones. En ingeniería eléctrica y control, se aplican al estudio de circuitos y sistemas dinámicos.&lt;br /&gt;
&lt;br /&gt;
Incluso cuando las señales presentan discontinuidades, como en pulsos digitales y ondas cuadradas, las series de Fourier siguen siendo una herramienta poderosa para analizar su comportamiento y optimizar su uso en la tecnología moderna.&lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; en el intervalo &amp;lt;math&amp;gt; [0,1] &amp;lt;/math&amp;gt;. Observamos que la función con la que estamos trabajando se trata de una función discontinua que no presenta ningún tipo de periodicidad, por ello, extendemos la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tal como se puede observar en la imagen el error tiende asintóticamente a &amp;lt;math&amp;gt; 0.09 &amp;lt;/math&amp;gt; (aproximadamente). Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n.&lt;br /&gt;
&lt;br /&gt;
Este método mejora la estabilidad de la aproximación y reduce la magnitud de las sobreoscilaciones del fenómeno de Gibbs, aunque no las elimina por completo. Comprobemos esto numéricamente con el ejemplo anterior. &lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Usuario:%C3%81ngel_De_Lucas&amp;diff=83708</id>
		<title>Usuario:Ángel De Lucas</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Usuario:%C3%81ngel_De_Lucas&amp;diff=83708"/>
				<updated>2025-02-11T23:33:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: Página blanqueada&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Usuario:%C3%81ngel_De_Lucas&amp;diff=83707</id>
		<title>Usuario:Ángel De Lucas</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Usuario:%C3%81ngel_De_Lucas&amp;diff=83707"/>
				<updated>2025-02-11T23:32:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: Página creada con «{{ TrabajoED | Series de Fourier (Grupo MECA) | EDP|2024-25 | Ángel De Lucas Miranda}}   ==Introducci...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier (Grupo [[Make-Edp-Cool-Again|MECA]]) | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Ángel De Lucas Miranda}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier son fundamentales en ingeniería y procesamiento de señales, ya que permiten descomponer cualquier señal periódica en una suma de senos y cosenos. Esto facilita el análisis y la manipulación de señales en numerosos campos. En telecomunicaciones y electrónica, se usan para modelar y procesar señales de audio, radio y vídeo, mejorando la transmisión y eliminación de ruido. En procesamiento de imágenes y sonido, permiten la compresión de datos (como en ''JPEG'' y ''MP3'') y la detección de patrones. En ingeniería eléctrica y control, se aplican al estudio de circuitos y sistemas dinámicos.&lt;br /&gt;
&lt;br /&gt;
Incluso cuando las señales presentan discontinuidades, como en pulsos digitales y ondas cuadradas, las series de Fourier siguen siendo una herramienta poderosa para analizar su comportamiento y optimizar su uso en la tecnología moderna.&lt;br /&gt;
&lt;br /&gt;
==Aproximación por series de Fourier==&lt;br /&gt;
&lt;br /&gt;
Empezaremos este trabajo aproximando la función característica &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; en el intervalo &amp;lt;math&amp;gt; [0,1] &amp;lt;/math&amp;gt;. Observamos que la función con la que estamos trabajando se trata de una función discontinua que no presenta ningún tipo de periodicidad, por ello, extendemos la función al intervalo &amp;lt;math&amp;gt; [-1,1] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Es fácil comprobar que la función extendida pertenece al grupo de funciones &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt;, además la función verifica la condición de Dirichlet, por tanto, la serie de Fourier de la función converge puntalmente al propio punto en los puntos de continuidad y al promedio en los puntos de discontinuidad. A continuación se muestra el desarrollo de Fourier de la función extendida &amp;lt;math&amp;gt; f(x) = 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt; para diferentes valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Aprox_fourier_MECA.gif|600px|thumb|right|Aproximación de Fourier de la función extendida &amp;lt;math&amp;gt; 1_{x \leq 1/4}(x) &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
def f(x):&lt;br /&gt;
    # Definimos la función a trozos extendida&lt;br /&gt;
    return np.where((x &amp;gt;= -0.25) &amp;amp; (x &amp;lt;= 0.25), 1, 0)&lt;br /&gt;
&lt;br /&gt;
def coef_fourier(f,a,b,n):&lt;br /&gt;
&lt;br /&gt;
    T = b-a # Periodo&lt;br /&gt;
    x = np.linspace(a,b,400)&lt;br /&gt;
    val_f = f(x)&lt;br /&gt;
&lt;br /&gt;
    a_coef = [] # Lista de coeficientes&lt;br /&gt;
    &lt;br /&gt;
    for j in range(n+1):&lt;br /&gt;
        aux = 0&lt;br /&gt;
        val_cos = np.cos(2*np.pi*j*x/T)&lt;br /&gt;
        aux = np.trapz(val_f*val_cos,x)&lt;br /&gt;
        aux = aux*(2/T)  # La otra parte de la integral        &lt;br /&gt;
        a_coef.append(aux)&lt;br /&gt;
          &lt;br /&gt;
    return a_coef&lt;br /&gt;
    &lt;br /&gt;
def aprox_fourier_par(a_coef,T,x,n):&lt;br /&gt;
    aux = 0&lt;br /&gt;
    aux += a_coef[0]/2&lt;br /&gt;
    for i in range(1,n+1):&lt;br /&gt;
        aux += a_coef[i]*np.cos(2*np.pi*i*x/T)&lt;br /&gt;
    return aux&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En la figura anterior se puede observar lo que se conoce como el fenómeno de Gibbs. Este fenómeno establece que en el punto de discontinuidad la serie de Fourier que aproxima la función presenta una oscilación que sobrepasa superior o inferiormente a la función original. Este fenómeno se da cuando tratamos de aproximar por Fourier funciones discontinuas. Además, también se sabe que el error de aproximación tiende al &amp;lt;math&amp;gt; 9\% &amp;lt;/math&amp;gt; del salto dado. A continuación se muestra una gráfica del error cometido por nuestra aproximación de Fourier usando dos normas diferentes, la norma del espacio &amp;lt;math&amp;gt; L^2 &amp;lt;/math&amp;gt; y la norma del supremo.  &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Error_aprox_MECA.png|600px|thumb|right| Error cometido por la aproximación de Fourier para distintos valores de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt;]]&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
z = 300   # Número de aproximaciones que queremos hacer&lt;br /&gt;
error_L2 = []&lt;br /&gt;
error_sup = []&lt;br /&gt;
&lt;br /&gt;
a_coef = coef_fourier(f,a,b,z)  # Obtenemos los z primeros coeficientes de la serie de fourier (hay z+1 en total)&lt;br /&gt;
&lt;br /&gt;
intervalo = np.linspace(0,1,200) #El intervalo donde queremos integrar, [0,1]&lt;br /&gt;
y_real = f(np.array(intervalo))&lt;br /&gt;
&lt;br /&gt;
for k in range(1,z+1):&lt;br /&gt;
&lt;br /&gt;
    y_aprox = []&lt;br /&gt;
    &lt;br /&gt;
    for j in intervalo:&lt;br /&gt;
        y_aprox.append(aprox_fourier_par(a_coef[:k+1],T,j,k))&lt;br /&gt;
    &lt;br /&gt;
    error_L2.append(np.sqrt( np.trapz( abs(y_real-y_aprox)**2,x) ))&lt;br /&gt;
    error_sup.append(max(abs(y_real-y_aprox)))&lt;br /&gt;
&lt;br /&gt;
valor_n = [i for i in range(1,z+1)]&lt;br /&gt;
&lt;br /&gt;
plt.plot(valor_n,error_sup, color = &amp;quot;#d62728&amp;quot;, label=&amp;quot;Error norma supremo&amp;quot;)&lt;br /&gt;
plt.plot(valor_n,error_L2, color = &amp;quot;#000080&amp;quot;, label=&amp;quot;Error norma $L^2$&amp;quot;)&lt;br /&gt;
plt.xlabel('número de términos')&lt;br /&gt;
plt.ylabel('error')&lt;br /&gt;
plt.legend(loc=&amp;quot;upper right&amp;quot;)&lt;br /&gt;
plt.title(&amp;quot;Error aproximación&amp;quot;)&lt;br /&gt;
plt.savefig(&amp;quot;Error_aprox&amp;quot;)&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tal como se puede observar en la imagen el error tiende asintóticamente a &amp;lt;math&amp;gt; 0.09 &amp;lt;/math&amp;gt; (aproximadamente). Una forma de mitigar este fenómeno es con las sumas de Cesàro.&lt;br /&gt;
&lt;br /&gt;
== Sumas de Cesàro y el fenómeno de Gibbs ==&lt;br /&gt;
&lt;br /&gt;
Las sumas de Cesàro ayudan a mitigar el fenómeno de Gibbs al suavizar la convergencia de las series de Fourier. En lugar de tomar directamente la serie de Fourier parcial de orden N, las sumas de Cesàro promedian las sumas parciales anteriores, reduciendo así las oscilaciones cerca de las discontinuidades. Expresado matemáticamente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sigma_N(f) = \frac{1}{N+1} \sum_{n=0}^{N} S_n(f)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt;S_n(f)&amp;lt;/math&amp;gt; es la suma parcial de Fourier de orden n.&lt;br /&gt;
&lt;br /&gt;
Este método mejora la estabilidad de la aproximación y reduce la magnitud de las sobreoscilaciones del fenómeno de Gibbs, aunque no las elimina por completo. Comprobemos esto numéricamente con el ejemplo anterior. &lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Error_aprox_MECA.png&amp;diff=83706</id>
		<title>Archivo:Error aprox MECA.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Error_aprox_MECA.png&amp;diff=83706"/>
				<updated>2025-02-11T22:14:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Aprox_fourier_MECA.gif&amp;diff=83701</id>
		<title>Archivo:Aprox fourier MECA.gif</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Aprox_fourier_MECA.gif&amp;diff=83701"/>
				<updated>2025-02-11T22:01:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ángel De Lucas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ángel De Lucas</name></author>	</entry>

	</feed>