<?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=Marta+de+Miguel+Prieto</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=Marta+de+Miguel+Prieto"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Marta_de_Miguel_Prieto"/>
		<updated>2026-04-29T13:27:06Z</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_(Grupo_CJMAS)&amp;diff=85080</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85080"/>
				<updated>2025-03-19T13:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica, la ecuación de transmisión del calor en el océano es:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;), la temperatura del océano está influenciada por la temperatura del ambiente, luego la condición en esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria viene dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. Los coeficientes de Fourier quedan &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomamos x=0 como el fondo y x=1000 como la superficie, donde se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Al modificar los parámetros, la solución cambia. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, por lo que se alcanza antes la solución estacionaria. No obstante, un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor, por lo que se tarda más en alcanzar la temperatura constante. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evolucion_temperatura.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
[[Archivo:Evolucion_temperatura_k.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85077</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85077"/>
				<updated>2025-03-19T13:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica, la ecuación de transmisión del calor en el océano es:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;), la temperatura del océano está influenciada por la temperatura del ambiente, luego la condición en esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria viene dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. Los coeficientes de Fourier quedan &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomamos x=0 como el fondo y x=1000 como la superficie, donde se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Al aumentar parámetros como &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evolucion_temperatura.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85074</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85074"/>
				<updated>2025-03-19T13:23:40Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Planteamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica, la ecuación de transmisión del calor en el océano es:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;), la temperatura del océano está influenciada por la temperatura del ambiente, luego la condición en esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria viene dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. Los coeficientes de Fourier quedan &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomamos x=0 como el fondo y x=1000 como la superficie, donde se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evolucion_temperatura.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85071</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85071"/>
				<updated>2025-03-19T13:21:15Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Solución estacionaria */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria viene dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. Los coeficientes de Fourier quedan &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomamos x=0 como el fondo y x=1000 como la superficie, donde se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_temperatura.gift|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85068</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85068"/>
				<updated>2025-03-19T13:20:15Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Solución mediante separación de variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. Los coeficientes de Fourier quedan &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomamos x=0 como el fondo y x=1000 como la superficie, donde se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85067</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85067"/>
				<updated>2025-03-19T13:19:33Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Códigos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. En cuanto a los coeficientes de Fourier, &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomamos x=0 como el fondo y x=1000 como la superficie, donde se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|500px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85065</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85065"/>
				<updated>2025-03-19T13:16:10Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. En cuanto a los coeficientes de Fourier, &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomando x=0 como el fondo y x=1000 como la superficie, donde tenemos que se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|400px|center|thumb|Mapa de calor]]&lt;br /&gt;
&lt;br /&gt;
Al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas y variabilidad climática, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85061</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85061"/>
				<updated>2025-03-19T13:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. En cuanto a los coeficientes de Fourier, &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomando x=0 como el fondo y x=1000 como la superficie, donde tenemos que se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. Sin embargo, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
&lt;br /&gt;
Asimismo, al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas, variabilidad climática y otros fenómenos naturales, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85060</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85060"/>
				<updated>2025-03-19T13:11:11Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. En cuanto a los coeficientes de Fourier, &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomando x=0 como el fondo y x=1000 como la superficie, donde tenemos que se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. No obstante, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
&lt;br /&gt;
Asimismo, al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor. &lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas, variabilidad climática y otros fenómenos naturales, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85059</id>
		<title>Ecuación del calor (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_(Grupo_CJMAS)&amp;diff=85059"/>
				<updated>2025-03-19T13:09:10Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Conclusión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Ecuación del calor en el océano (Grupo CJMAS). | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez&lt;br /&gt;
&lt;br /&gt;
Javier Martínez Saiz&lt;br /&gt;
&lt;br /&gt;
Marta De Miguel Prieto&lt;br /&gt;
&lt;br /&gt;
Analía Olivero Betancor&lt;br /&gt;
&lt;br /&gt;
Sofía de Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
= Introducción =&lt;br /&gt;
La difusión del calor en el océano es un proceso clave ya que define la distribución térmica en las masas de agua y su interacción con la atmósfera. En este trabajo, utilizamos la ecuación del calor con el objetivo de comprender cómo la temperatura ambiente afecta a la temperatura del océano profundo con el paso de tiempo.&lt;br /&gt;
&lt;br /&gt;
= Modelización de la transferencia de calor en el océano profundo =&lt;br /&gt;
&lt;br /&gt;
== Planteamiento ==&lt;br /&gt;
Consideremos una porción de la Tierra de longitud &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt;, en la cual distinguimos regiones diferenciadas. En el extremo izquierdo, la superficie está en contacto con la atmósfera, donde la temperatura varía debido a la radiación solar y la influencia de la temperatura ambiental. A continuación, nos adentramos en el océano profundo, donde la temperatura varía principalmente por la difusión térmica.&lt;br /&gt;
&lt;br /&gt;
Aplicando la ley de Fourier de conducción térmica tenemos que la ecuación de transmisión del calor en el océano es la siguiente:&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt; \frac{du}{dt}=\alpha \frac{d^2 u}{dx^2}&amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; es la constante que representa la difusividad del agua.&lt;br /&gt;
&lt;br /&gt;
En la superficie (&amp;lt;math&amp;gt; x=0 &amp;lt;/math&amp;gt;) la temperatura del océano está influenciada por la temperatura del ambiente luego la condición en de esta frontera quedaría determinada por:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(0,t)=\frac{h}{k}(u_{amb}-u(0,t))&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
donde &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; representa el coeficiente de transferencia del calor y &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; la conductividad térmica.&lt;br /&gt;
&lt;br /&gt;
En cambio, en el extremo opuesto, consideramos que su flujo es nulo. &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{du}{dx}(L,t)=0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para establecer la condición inicial suponemos una situación ideal de equilibrio en el océano, por lo que podemos expresar la temperatura en el instante inicial como constante,&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,0)=u_0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
=== Solución estacionaria ===&lt;br /&gt;
Para tiempos muy grandes, \(t \to \infty \), la temperatura en el océano alcanza un estado estacionario donde \( u_t(x,t) \to 0 \). En este caso, la solución estacionaria está dada por:  &lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
v(x) = u_{\text{amb}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
Es decir, a largo plazo, la temperatura del océano se iguala a la temperatura ambiente.&lt;br /&gt;
&lt;br /&gt;
=== Solución mediante separación de variables ===&lt;br /&gt;
&lt;br /&gt;
La solución general del problema, resuelta mediante separación de variables, es&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty \left(A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) + B_n\sin\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right)\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
con &amp;lt;math&amp;gt;\lambda_n=\alpha \beta_n^2 &amp;lt;/math&amp;gt;, dónde  &amp;lt;math&amp;gt;\beta_n&amp;lt;/math&amp;gt; cumple que &amp;lt;math&amp;gt;\tan(L \beta )=\frac{h}{k \beta}&amp;lt;/math&amp;gt;. En cuanto a los coeficientes de Fourier, &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;A_n= \frac{2(u_{amb}-u_0)}{L\sqrt{\frac{\lambda_n}{\alpha}}} \sin\left(\sqrt{\frac{\lambda_n}{\alpha}}L\right)&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;B_n= 0&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De este modo, la solución quedaría como:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;&lt;br /&gt;
u(x,t)= u_{amb} - \sum_{n=1}^\infty A_n\cos\left(\sqrt{\frac{\lambda_n}{\alpha}}x\right) e^{-\lambda_n t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Códigos =&lt;br /&gt;
Mediante la implementación del siguiente código, conseguimos representar la evolución de la temperatura del océano a lo largo del espacio y tiempo bajo la influencia de la temperatura ambiente. Tomando x=0 como el fondo y x=1000 como la superficie, donde tenemos que se alcanzan los máximos valores de temperatura y que decrece con el tiempo.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 100; % Número de pasos en t&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
t = linspace(0, 2000, Nt); % Tiempo hasta 1 día (en segundos)&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 5;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb-u0) * sin(beta_n * L) / (beta_n * L); % &lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Graficar evolución de la temperatura&lt;br /&gt;
figure;&lt;br /&gt;
[X, T] = meshgrid(x, t/3600); % Convertir tiempo a horas&lt;br /&gt;
surf(X, T, u', 'EdgeColor', 'none');&lt;br /&gt;
xlabel('Distancia (m)');&lt;br /&gt;
ylabel('Tiempo (horas)');&lt;br /&gt;
zlabel('Temperatura (°C)');&lt;br /&gt;
title('Evolución de la temperatura en el océano');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(3);&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el siguiente código se ha buscado representar la evolución de la temperatura del océano cuando el tiempo tiende a infinito en un mapa de calor.&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
L = 1000;      % Longitud del océano (en metros)&lt;br /&gt;
alpha = 1.4e-6; % Difusividad térmica del agua (m^2/s)&lt;br /&gt;
h = 10;       % Coeficiente de transferencia de calor&lt;br /&gt;
k = 0.6;      % Conductividad térmica del agua&lt;br /&gt;
u_amb = 20;   % Temperatura ambiente (grados Celsius)&lt;br /&gt;
u0 = 5;       % Temperatura inicial (grados Celsius)&lt;br /&gt;
&lt;br /&gt;
% Dominio espacial y temporal&lt;br /&gt;
Nx = 50; % Número de puntos en x&lt;br /&gt;
Nt = 50; % Número de pasos en t (mucho menor para avanzar rápido)&lt;br /&gt;
t_max = 10000000 * 86400; % Simulación hasta 10 días en segundos&lt;br /&gt;
t = linspace(0, t_max, Nt); % Tiempo con pasos mucho más grandes&lt;br /&gt;
x = linspace(0, L, Nx);&lt;br /&gt;
&lt;br /&gt;
% Número de términos en la serie&lt;br /&gt;
N_terms = 10;&lt;br /&gt;
&lt;br /&gt;
% Solución de la serie de Fourier&lt;br /&gt;
u = zeros(Nx, Nt);&lt;br /&gt;
for n = 1:N_terms&lt;br /&gt;
    beta_n = (2*n - 1) * pi / (2 * L); % Modificación para condición de Neumann en x=L&lt;br /&gt;
    lambda_n = alpha * beta_n^2; % Parámetro de la ecuación&lt;br /&gt;
    A_n = 2 * (u_amb - u0) * sin(beta_n * L) / (beta_n * L);&lt;br /&gt;
    for i = 1:Nx&lt;br /&gt;
        for j = 1:Nt&lt;br /&gt;
            u(i, j) = u(i, j) + A_n * cos(beta_n * x(i)) * exp(-lambda_n * t(j));&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución&lt;br /&gt;
u = u_amb - u;&lt;br /&gt;
&lt;br /&gt;
% Crear el objeto VideoWriter para guardar el video&lt;br /&gt;
v = VideoWriter('evolucion_calor_océano.mp4', 'MPEG-4'); % Nombre del archivo y formato&lt;br /&gt;
v.FrameRate = 5; % Velocidad de los cuadros (puedes ajustarlo según lo necesites)&lt;br /&gt;
open(v); % Abrir el objeto para grabar el video&lt;br /&gt;
&lt;br /&gt;
% Crear la figura&lt;br /&gt;
figure;&lt;br /&gt;
colormap hot; % Mapa de calor para mejor visualización&lt;br /&gt;
&lt;br /&gt;
% Crear la animación y capturar cada cuadro&lt;br /&gt;
for j = 1:Nt&lt;br /&gt;
    imagesc(x, [0, L], repmat(u(:, j)', [Nx, 1])); % Representación del perfil de temperatura&lt;br /&gt;
    set(gca, 'YDir', 'normal'); % Mantener el eje y en la dirección correcta&lt;br /&gt;
    xlabel('Distancia (m)');&lt;br /&gt;
    ylabel('Profundidad (m)');&lt;br /&gt;
    title(['Evolución del calor en el océano - t = ', num2str(t(j)/86400, '%.1f'), ' días']);&lt;br /&gt;
    colorbar;&lt;br /&gt;
    &lt;br /&gt;
    % Ajustar la escala de colores dinámicamente&lt;br /&gt;
    caxis([min(u(:)), max(u(:))]); &lt;br /&gt;
    &lt;br /&gt;
    pause(0.2); % Control de la velocidad de la animación&lt;br /&gt;
    &lt;br /&gt;
    % Capturar el cuadro actual y agregarlo al video&lt;br /&gt;
    frame = getframe(gcf); % Capturar el cuadro de la figura&lt;br /&gt;
    writeVideo(v, frame); % Escribir el cuadro en el archivo de video&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Cerrar el archivo de video&lt;br /&gt;
close(v); % Finalizar y guardar el archivo de video&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Conclusión =&lt;br /&gt;
La temperatura del océano converge en tiempo hacia la solución estacionaria de la EDP, es decir, la temperatura ambiente, que actúa como una fuente de calor constante. No obstante, se necesita un rango de tiempo desmesurado para poder observar cómo se alcanza dicha solución, tal y como observamos en las gráficas representadas a continuación. Asimismo, al aumentar parámetros como &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, el calor se difunde más rápido, llegando antes a la solución estacionaria. La condición frontera modeliza el gradiente de temperatura en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, entre el ambiente y el medio. Un mayor valor de &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; aumenta el gradiente, ya que refleja la capacidad de transferencia de calor entre ambos medios, mientras que un aumento de &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; reduce el gradiente, al disminuir la diferencia necesaria para la misma tasa de transferencia de calor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Evol1.png|400px|left|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  t_{max}=6 \cdot 10^7 h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol2.png|400px|right|thumb| &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}= 6 \cdot 10^{10} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;  ]]&lt;br /&gt;
[[Archivo:Evol4.png|400px|left|thumb|  &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;   t_{max}=6 \cdot 10^{12} h&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;]] [[Archivo:Evol6.png|400px|right|thumb| &amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  t_{max}= 6 \cdot 10^{15} h&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:evolucion_calor_océano.gif|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
&lt;br /&gt;
Este modelo es idílico, ya que en la realidad existen diversos factores, como corrientes oceánicas, variabilidad climática y otros fenómenos naturales, que impiden que se logre una temperatura constante en todo el océano a lo largo del tiempo.&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84167</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84167"/>
				<updated>2025-02-15T18:08:41Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Cambio de intervalo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez, Javier Martínez Saiz, Marta De Miguel Prieto, Analía Olivero Betancor, Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas como series infinitas de términos senoidales y cosenoidales, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero para analizar su comportamiento en otro intervalo, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt;, representamos gráficamente sus primeros 10 términos. Para &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, usamos la expresión del apartado anterior. Así, los términos ortonormalizados son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A medida que &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; aumenta, las funciones seno y coseno toman un comportamiento más oscilante, reduciendo su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, trasladamos el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\):&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. La precisión mejora a medida que aumenta el número de términos de la serie, ajustándose mejor en los puntos interiores del intervalo que en los extremos, donde notamos una mayor discrepancia.&lt;br /&gt;
&lt;br /&gt;
Este efecto, conocido como el fenómeno de Gibbs, surge al aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84166</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84166"/>
				<updated>2025-02-15T17:50:18Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Base trigonométrica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez, Javier Martínez Saiz, Marta De Miguel Prieto, Analía Olivero Betancor, Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas como series infinitas de términos senoidales y cosenoidales, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero para analizar su comportamiento en otro intervalo, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt;, representamos gráficamente sus primeros 10 términos. Para &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, usamos la expresión del apartado anterior. Así, los términos ortonormalizados son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A medida que &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; aumenta, las funciones seno y coseno toman un comportamiento más oscilante, reduciendo su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84165</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84165"/>
				<updated>2025-02-15T17:48:39Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Base trigonométrica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez, Javier Martínez Saiz, Marta De Miguel Prieto, Analía Olivero Betancor, Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas como series infinitas de términos senoidales y cosenoidales, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero para analizar su comportamiento en otro intervalo, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt;, representamos gráficamente sus primeros 10 términos. Para &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, usamos la expresión del apartado anterior. Así, los términos ortonormalizados son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A medida que &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; aumenta, las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84164</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84164"/>
				<updated>2025-02-15T17:35:46Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez, Javier Martínez Saiz, Marta De Miguel Prieto, Analía Olivero Betancor, Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas como series infinitas de términos senoidales y cosenoidales, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es la que sigue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero con el fin de entender mejor cómo se comporta esta base en un intervalo diferente, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt; representamos gráficamente los primeros 10 términos de la base. En este intervalo, tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, debemos utilizar la expresión dada en el apartado anterior. Por lo tanto, los términos ortonormalizados en este caso serían:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Podemos observar que, a medida que el valor de n aumenta, las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo dado, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84163</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84163"/>
				<updated>2025-02-15T17:03:36Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez, Javier Martínez Saiz, Marta De Miguel Prieto, Analía Olivero Betancor, Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, expresan dichas funciones como series infinitas de términos trigonométricos, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es la que sigue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero con el fin de entender mejor cómo se comporta esta base en un intervalo diferente, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt; representamos gráficamente los primeros 10 términos de la base. En este intervalo, tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, debemos utilizar la expresión dada en el apartado anterior. Por lo tanto, los términos ortonormalizados en este caso serían:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Podemos observar que, a medida que el valor de n aumenta, las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo dado, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84162</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84162"/>
				<updated>2025-02-15T16:22:22Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez, Javier Martínez Saiz, Marta De Miguel Prieto, Analía Olivero Betancor, Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, expresan dichas funciones como series infinitas de términos trigonométricos, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es la que sigue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero con el fin de entender mejor cómo se comporta esta base en un intervalo diferente, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt; representamos gráficamente los primeros 10 términos de la base. En este intervalo, tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, debemos utilizar la expresión dada en el apartado anterior. Por lo tanto, los términos ortonormalizados en este caso serían:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Podemos observar que, a medida que el valor de n aumenta, las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo dado, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
== Extensión par e impar ==&lt;br /&gt;
Imaginemos ahora que deseamos aproximar la función en intervalos de la forma \( [0,L] \). En este caso, resulta relevante explorar una posible simetría de la función que nos permita extenderla al intervalo \( [-L,L] \). Existen dos formas de realizar esta extensión: de forma simétrica respecto a un eje (par) o antisimétrica (impar).&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84139</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84139"/>
				<updated>2025-02-15T10:44:20Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Base trigonométrica */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, expresan dichas funciones como series infinitas de términos trigonométricos, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es la que sigue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero con el fin de entender mejor cómo se comporta esta base en un intervalo diferente, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt; representamos gráficamente los primeros 10 términos de la base. En este intervalo, tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, debemos utilizar la expresión dada en el apartado anterior. Por lo tanto, los términos ortonormalizados en este caso serían:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Podemos observar que, a medida que el valor de n aumenta, las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo dado, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
== Extensión par e impar ==&lt;br /&gt;
Imaginemos ahora que deseamos aproximar la función en intervalos de la forma \( [0,L] \). En este caso, resulta relevante explorar una posible simetría de la función que nos permita extenderla al intervalo \( [-L,L] \). Existen dos formas de realizar esta extensión: de forma simétrica respecto a un eje (par) o antisimétrica (impar).&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84138</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84138"/>
				<updated>2025-02-15T10:30:19Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, expresan dichas funciones como series infinitas de términos trigonométricos, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortonormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es la que sigue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero con el fin de entender mejor cómo se comporta esta base en un intervalo diferente, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt; representamos gráficamente los primeros 10 términos de la base. En este intervalo, tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, debemos utilizar la expresión dada en el apartado anterior. Por lo tanto, los términos ortonormalizados en este caso serían:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Podemos ver como a medida que el valor de n aumenta las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo dado, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
== Extensión par e impar ==&lt;br /&gt;
Imaginemos ahora que deseamos aproximar la función en intervalos de la forma \( [0,L] \). En este caso, resulta relevante explorar una posible simetría de la función que nos permita extenderla al intervalo \( [-L,L] \). Existen dos formas de realizar esta extensión: de forma simétrica respecto a un eje (par) o antisimétrica (impar).&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84137</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=84137"/>
				<updated>2025-02-15T10:29:10Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, expresan dichas funciones como series infinitas de términos trigonométricos, facilitando su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Antes de profundizar en las series de Fourier, es importante conocer el espacio de las funciones \( L^2 \) sobre un conjunto \( \Omega\), el cual se define como \( L^2 = \{f: \Omega \rightarrow \mathbb{R} | \int_{\Omega} |f(x)|^2 dx &amp;lt; \infty \} \). Este es un espacio de Hilbert, lo que nos permite definir el producto escalar como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \langle f,g \rangle _{L^2(\Omega)} = \int_{\Omega} f(x) g(x) \,dx &amp;lt;/math&amp;gt; para  \( f,g \in L^2(\Omega) \), y gracias a este podemos definir el módulo en \(L^2\) como \( \| \cdot \|_{L^2(\Omega)} = \sqrt{\langle \cdot, \cdot \rangle_{L^2(\Omega)}} \).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
De esta forma, en el espacio de Hilbert \( L^2([-T,T], \langle , \rangle_{L^2}) \), cualquier función puede representarse en términos de una base ortnormal de funciones trigonométricas, dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos(n h(x)), \sqrt{\frac{2}{b-a}}\sin(n h(x))  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-T,  &amp;lt;/math&amp;gt; con \(T=\frac{b-a}{2}\).&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{b-a}} + \sum_{n=1}^{\infty} \left( d_n \cos(n h(x)) + c_n \sin(n h(x)) \right) &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(d_0\), \(d_n\) y \(c_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_0 = \langle f, \frac{1}{b-a}\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \frac{1}{b-a} dx , &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; d_n = \langle f, \cos (n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \cos(nh(x)) dx ,&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; c_n = \langle f, \sin(n h(x))\rangle=\frac{1}{T}\int_{-T}^{T} f(x) \sin(n h(x)) dx . &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En particular, en el espacio \(L^2([-\pi,\pi])\) la base trigonométrica ortonormal es la que sigue:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt; &amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{2\pi}}\right\}\cup\left\{\sqrt{\frac{1}{\pi}}\cos(nx), \sqrt{\frac{1}{\pi}}\sin(nx)  \right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;, &amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
con función aproximada &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt; f(x) \sim \frac{d_0}{\sqrt{2\pi}} + \sum_{n=1}^{\infty} \left( d_n \cos(n x) + c_n \sin(n x) \right) &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este es el intervalo más común para expresar la base, pero con el fin de entender mejor cómo se comporta esta base en un intervalo diferente, como  &amp;lt;math&amp;gt;[-1,1]&amp;lt;/math&amp;gt; representamos gráficamente los primeros 10 términos de la base. En este intervalo, tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; la base se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si consideramos la base ortonormalizada, debemos utilizar la expresión dada en el apartado anterior. Por lo tanto, los términos ortonormalizados en este caso serían:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;  \left\{\frac{1}{\sqrt{2}}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;. &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las gráficas correspondientes para ilustrar cómo estos términos permiten aproximar funciones en el intervalo dado, junto con el código empleado para obtener su representación.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Código MATLAB !! Representación gráfica&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | {{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% --- Representar gráficamente los 10 primeros términos de la base trigonométrica ---&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores para las gráficas&lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% Término 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: representación única de cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: representación única de senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
}}&lt;br /&gt;
| [[Archivo:grafica1_EDP.png|550px|center|Primeros 10 términos de la base trigonométrica]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica2_EDP.png|550px|center|Primeros 10 términos del seno]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Archivo:grafica3_EDP.png|550px|center|Primeros 10 términos del coseno]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Podemos ver como a medida que el valor de n aumenta las funciones seno y coseno toman un comportamiento más oscilante, lo que reduce su periodo. Esta característica es fundamental, ya que permite que la aproximación de funciones sea cada vez más precisa.&lt;br /&gt;
&lt;br /&gt;
Esta visualización permite apreciar cómo las funciones trigonométricas construyen una base ortogonal en el intervalo dado, facilitando su aplicación en la expansión en series de Fourier.&lt;br /&gt;
&lt;br /&gt;
== Cambio de intervalo ==&lt;br /&gt;
&lt;br /&gt;
Consideremos la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, sustituyendo con \( a=-2, b =3 \), se tiene la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}- \frac{5}{2}\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\frac{5}{2}\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, hemos conseguido trasladar el intervalo no simétrico \([-2,3]\) al intervalo simétrico \( [-T, T] \), donde \(T=\frac{b-a}{2}\). Luego por periodicidad y por tener la misma longitud de intervalo, la base trigonométrica del espacio \(L^2([-2,3])\) será la misma que la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\), para nuestros valores específicos de \(a\) y \(b\).&lt;br /&gt;
&lt;br /&gt;
Luego podemos aproximar nuestra función \(f(x)\) por la combinación lineal de los elementos de la base de \(L^2([-\frac{5}{2},\frac{5}{2}])\) como se muestra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:EJ5EDP.png|500px|thumb|right|Aproximación de \( f(x) = x e^{-x} \) usando cambio de variable]]&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
% Definición de la función f(x) = x * exp(-x)&lt;br /&gt;
f = @(x) x .* exp(-x);&lt;br /&gt;
&lt;br /&gt;
% Parámetros del problema&lt;br /&gt;
a = -2;                  % Extremo inferior del intervalo original&lt;br /&gt;
b = 3;                   % Extremo superior del intervalo original&lt;br /&gt;
L = 5/2;                 % Nueva semilongitud del intervalo centrado en 0&lt;br /&gt;
N = 5000;                % Número de puntos para la integral&lt;br /&gt;
m = 20;                  % Número de términos en la serie&lt;br /&gt;
&lt;br /&gt;
% Cambio de variable h(x) para transformar [a, b] -&amp;gt; [-L, L]&lt;br /&gt;
h = @(x) (5*(x - a)) / (b - a) - (5/2);&lt;br /&gt;
&lt;br /&gt;
% Vectores para almacenar los coeficientes&lt;br /&gt;
coeficientes1 = zeros(1, m);&lt;br /&gt;
coeficientes2 = zeros(1, m);&lt;br /&gt;
&lt;br /&gt;
% Discretización del intervalo y pesos para regla del trapecio&lt;br /&gt;
h_val = (b - a) / N;     &lt;br /&gt;
u = a:h_val:b;          &lt;br /&gt;
h_u = h(u);  % Aplicar cambio de variable a los puntos del intervalo&lt;br /&gt;
&lt;br /&gt;
w = ones(N + 1, 1);&lt;br /&gt;
w(1) = 1/2; w(N + 1) = 1/2; % Pesos de extremos&lt;br /&gt;
&lt;br /&gt;
% Cálculo del coeficiente a_0&lt;br /&gt;
coef0 = (h_val * w' * f(u)') / L;&lt;br /&gt;
&lt;br /&gt;
% Cálculo de los coeficientes a_k y b_k usando la base trigonométrica ajustada&lt;br /&gt;
for k = 1:m&lt;br /&gt;
    f1 = (f(u) .* sin(k * pi * h_u / L))';&lt;br /&gt;
    f2 = (f(u) .* cos(k * pi * h_u / L))';&lt;br /&gt;
    coeficientes1(k) = (h_val * w' * f1) / L;&lt;br /&gt;
    coeficientes2(k) = (h_val * w' * f2) / L;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Construcción de las aproximaciones parciales de la serie&lt;br /&gt;
y = zeros(m, N + 1);&lt;br /&gt;
y(1, :) = coef0 / 2 + coeficientes1(1) * sin(pi * h_u / L) + ...&lt;br /&gt;
          coeficientes2(1) * cos(pi * h_u / L);&lt;br /&gt;
&lt;br /&gt;
for k = 2:m&lt;br /&gt;
    y(k, :) = y(k - 1, :) + coeficientes1(k) * sin(k * pi * h_u / L) + ...&lt;br /&gt;
              coeficientes2(k) * cos(k * pi * h_u / L);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráficas de la función original y las aproximaciones&lt;br /&gt;
figure;&lt;br /&gt;
hold on;&lt;br /&gt;
plot(u, f(u), 'black', 'LineWidth', 1.5);            % Función original&lt;br /&gt;
plot(u, y(5, :), 'blue', 'LineWidth', 1.2);          % Aproximación con n=5&lt;br /&gt;
plot(u, y(10, :), 'red', 'LineWidth', 1.2);          % Aproximación con n=10&lt;br /&gt;
plot(u, y(20, :), 'yellow', 'LineWidth', 1.2);       % Aproximación con n=20&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('f(x), f_{5}(x), f_{10}(x), f_{20}(x)');&lt;br /&gt;
title('Aproximación de f(x) = x e^{-x} con cambio de variable');&lt;br /&gt;
legend(&amp;quot;f(x)&amp;quot;, &amp;quot;f_{5}(x)&amp;quot;, &amp;quot;f_{10}(x)&amp;quot;, &amp;quot;f_{20}(x)&amp;quot;);&lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
La gráfica muestra la aproximación de la función \(f(x)= x e^{-x}\) mediante series de Fourier con cambio de variable. Se observa que las aproximaciones mejoran a medida que aumentamos el número de términos en la serie. En particular, en los puntos interiores del intervalo, las funciones \(f_n(x) \) se ajustan mejor a \(f(x)\) en comparación con los extremos, donde se nota una mayor discrepancia debido al comportamiento de la serie en los bordes del intervalo.&lt;br /&gt;
&lt;br /&gt;
Este efecto se conoce como el fenómeno de Gibbs, que aparece al intentar aproximar la función mediante una serie de Fourier periódica. Como la serie debe ajustarse a una versión periódica de la función, surgen discontinuidades en los bordes, lo que provoca oscilaciones cerca de estos puntos. Aunque al aumentar el número de términos en la serie las oscilaciones se vuelven más localizadas, no desaparecen por completo, mostrando el carácter persistente del fenómeno de Gibbs.&lt;br /&gt;
&lt;br /&gt;
== Extensión par e impar ==&lt;br /&gt;
Imaginemos ahora que deseamos aproximar la función en intervalos de la forma \( [0,L] \). En este caso, resulta relevante explorar una posible simetría de la función que nos permita extenderla al intervalo \( [-L,L] \). Existen dos formas de realizar esta extensión: de forma simétrica respecto a un eje (par) o antisimétrica (impar).&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83840</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83840"/>
				<updated>2025-02-12T19:39:42Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
En el espacio de Hilbert \( L^2([-\pi,\pi]) \), cualquier función puede representarse en términos de una base ortogonal de funciones trigonométricas, dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2 \pi}}\}\cup\{ \frac{1}{\sqrt{\pi}}\cos(n x), \frac{1}{\sqrt{\pi}}\sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|600px| Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
[[Archivo:Grafica2_EDP.png|600px|Representación de los 10 primeros términos del seno.]]&lt;br /&gt;
[[Archivo:grafica3_EDP.png|600px|Representación de los 10 primeros términos del coseno.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83839</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83839"/>
				<updated>2025-02-12T19:38:06Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
En el espacio de Hilbert \( L^2([-\pi,\pi]) \), cualquier función puede representarse en términos de una base ortogonal de funciones trigonométricas, dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2 \pi}}\}\cup\{ \frac{1}{\sqrt{\pi}}\cos(n x), \frac{1}{\sqrt{\pi}}\sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|400px| Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
[[Archivo:Grafica2_EDP.png|400px|Representación de los 10 primeros términos del seno.]]&lt;br /&gt;
[[Archivo:grafica3_EDP.png|400px|Representación de los 10 primeros términos del coseno.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83837</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83837"/>
				<updated>2025-02-12T19:37:22Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
En el espacio de Hilbert \( L^2([-\pi,\pi]) \), cualquier función puede representarse en términos de una base ortogonal de funciones trigonométricas, dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2 \pi}}\}\cup\{ \frac{1}{\sqrt{\pi}}\cos(n x), \frac{1}{\sqrt{\pi}}\sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|300px| Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
[[Archivo:Grafica2_EDP.png|300px|Representación de los 10 primeros términos del seno.]]&lt;br /&gt;
[[Archivo:grafica3_EDP.png|300px|Representación de los 10 primeros términos del coseno.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83836</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83836"/>
				<updated>2025-02-12T19:36:48Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
En el espacio de Hilbert \( L^2([-\pi,\pi]) \), cualquier función puede representarse en términos de una base ortogonal de funciones trigonométricas, dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2 \pi}}\}\cup\{ \frac{1}{\sqrt{\pi}}\cos(n x), \frac{1}{\sqrt{\pi}}\sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|250px| Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
[[Archivo:Grafica2_EDP.png|thumb|250px|Representación de los 10 primeros términos del seno.]]&lt;br /&gt;
[[Archivo:grafica3_EDP.png|thumb|250px|Representación de los 10 primeros términos del coseno.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83835</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83835"/>
				<updated>2025-02-12T19:36:15Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
En el espacio de Hilbert \( L^2([-\pi,\pi]) \), cualquier función puede representarse en términos de una base ortogonal de funciones trigonométricas, dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2 \pi}}\}\cup\{ \frac{1}{\sqrt{\pi}}\cos(n x), \frac{1}{\sqrt{\pi}}\sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
[[Archivo:Grafica2_EDP.png|thumb|250px|Representación de los 10 primeros términos del seno.]]&lt;br /&gt;
[[Archivo:grafica3_EDP.png|thumb|250px|Representación de los 10 primeros términos del coseno.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83834</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83834"/>
				<updated>2025-02-12T19:34:22Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
En el espacio de Hilbert \( L^2([-\pi,\pi]) \), cualquier función puede representarse en términos de una base ortogonal de funciones trigonométricas, dada por:&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2 \pi}}\}\cup\{ \frac{1}{\sqrt{\pi}}\cos(n x), \frac{1}{\sqrt{\pi}}\sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usando esta base, la serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|thumb|300px|Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
[[Archivo:Grafica2_EDP.png|thumb|250px|Representación de los 10 primeros términos del seno.]]&lt;br /&gt;
[[Archivo:grafica3_EDP.png|thumb|250px|Representación de los 10 primeros términos del coseno.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafica3_EDP.png&amp;diff=83820</id>
		<title>Archivo:Grafica3 EDP.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafica3_EDP.png&amp;diff=83820"/>
				<updated>2025-02-12T19:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafica2_EDP.png&amp;diff=83819</id>
		<title>Archivo:Grafica2 EDP.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafica2_EDP.png&amp;diff=83819"/>
				<updated>2025-02-12T19:14:33Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83818</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83818"/>
				<updated>2025-02-12T19:09:58Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Dado un espacio de Hilbert \( L^2([-\pi,\pi]) \), podemos representar cualquier función en este espacio mediante una base ortogonal de funciones trigonométricas. La serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En el contexto de las series de Fourier, una base ortogonal es un conjunto de funciones que permiten representar cualquier función en un determinado espacio mediante combinaciones lineales de sus elementos. En particular, en el espacio \(L^2[-\pi, \pi]\), la base trigonométrica está formada por el conjunto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2}}\}\cup\{\cos(n x), \sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
formado por funciones \( 2 \pi- \)periódicas y ortogonales entre sí.&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|thumb|300px|Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83816</id>
		<title>Series de Fourier (Grupo CJMAS)</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_(Grupo_CJMAS)&amp;diff=83816"/>
				<updated>2025-02-12T19:05:45Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{ TrabajoED | &lt;br /&gt;
Series de Fourier. Grupo CJMAS | [[:Categoría: EDP|EDP]]|[[:Categoría:EDP24/25|2024-25]] | Claudia Domínguez Sánchez Javier Martínez Saiz Marta De Miguel Prieto Analía Olivero Betancor Sofía De Benito Valdueza }}&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Las series de Fourier, introducidas por Jean-Baptiste Joseph Fourier, permiten descomponer funciones periódicas en una combinación de ondas senoidales y cosenoidales. En esencia, permiten descomponer una función en una serie infinita de términos trigonométricos, lo que facilita su análisis y manipulación en diversas aplicaciones de la física, ingeniería y matemáticas.&lt;br /&gt;
&lt;br /&gt;
Dado un espacio de Hilbert \( L^2([-\pi,\pi]) \), podemos representar cualquier función en este espacio mediante una base ortogonal de funciones trigonométricas. La serie de Fourier de una función \( f(x) \) se expresa como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty} \left( a_n \cos(n x) + b_n \sin(n x) \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
donde los coeficientes \(a_0\), \(a_n\) y \(b_n\) son los llamados coeficientes de Fourier y están definidos por las siguientes integrales:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_0 = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) dx &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(n x) dx &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta descomposición no se limita únicamente al intervalo \([−\pi,\pi]\), sino que puede extenderse a otros intervalos mediante un cambio de variable adecuado. &lt;br /&gt;
&lt;br /&gt;
== Base trigonométrica ==&lt;br /&gt;
&lt;br /&gt;
En el contexto de las series de Fourier, una base ortogonal es un conjunto de funciones que permiten representar cualquier función en un determinado espacio mediante combinaciones lineales de sus elementos. En particular, en el espacio \(L^2[-\pi, \pi]\), la base trigonométrica está formada por el conjunto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\{\frac{1}{\sqrt{2}}\}\cup\{\cos(n x), \sin(n x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
formado por funciones \( 2 \pi- \)periódicas y ortogonales entre sí.&lt;br /&gt;
&lt;br /&gt;
En general, en el espacio \(L^2([a,b])\), mediante el cambio de variable &amp;lt;math&amp;gt; h(x)=\frac{2\pi}{b-a}(x-a)-\pi&amp;lt;/math&amp;gt;,&lt;br /&gt;
se tiene que la base trigonométrica ortogonal está dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  B=\left\{\frac{1}{\sqrt{b-a}}\right\}\cup\left\{\sqrt{\frac{2}{b-a}}\cos\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right), \sqrt{\frac{2}{b-a}}\sin\left(n\left(\frac{2\pi (x-a)}{b-a}-\pi\right)\right)\right\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para visualizar esta base, se representa gráficamente en el intervalo &amp;lt;math&amp;gt;[1,1]&amp;lt;/math&amp;gt; los 10 primeros términos tomando &amp;lt;math&amp;gt;a=-1,b=1&amp;lt;/math&amp;gt; en la anterior expresión:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \left\{\frac{1}{2}\right\}\cup\{\cos(n \pi x), \sin(n \pi x)\}_{n\in\mathbb{N} } &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{matlab|codigo=&lt;br /&gt;
&lt;br /&gt;
%%% Representar gráficamente los 10 primeros términos de la base trigonométrica&lt;br /&gt;
&lt;br /&gt;
% Definir el intervalo y los puntos&lt;br /&gt;
x = linspace(-1, 1, 500);&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Definir colores &lt;br /&gt;
color_cosenos = [0, 0.447, 0.741];  % Azul&lt;br /&gt;
color_senos   = [0.85, 0.325, 0.098];  % Rojo&lt;br /&gt;
colors_individuales = lines(N);  &lt;br /&gt;
&lt;br /&gt;
%% Gráfica 1: Todos los términos juntos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Primeros 10 términos de la base trigonométrica');&lt;br /&gt;
xlabel('x'); ylabel('Función');&lt;br /&gt;
&lt;br /&gt;
% 1/2&lt;br /&gt;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 2, 'DisplayName', '1/2'); % Negro para el término constante&lt;br /&gt;
&lt;br /&gt;
% Cosenos y senos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', color_cosenos, 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', color_senos, 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 2: Cosenos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones cos(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('cos(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, cos(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('cos(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
%% Gráfica 3: Senos &lt;br /&gt;
figure;&lt;br /&gt;
hold on; grid on;&lt;br /&gt;
title('Funciones sin(nπx)');&lt;br /&gt;
xlabel('x'); ylabel('sin(nπx)');&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    plot(x, sin(n * pi * x), 'Color', colors_individuales(n,:), 'LineWidth', 1.5, 'DisplayName', sprintf('sin(%dπx)', n));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
legend show;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Archivo:grafica1_EDP.png|thumb|250px|Representación de los 10 primeros términos de la base trigonométrica.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora consideremos un intervalo el cual no esté centrado en &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, supongamos que queremos trabajar con la función \(f(x)= x e^{-x}\) definida en el intervalo \([-2,3]\). Para poder expresarla mediante una serie de Fourier, necesitamos encontrar una base trigonométrica adecuada para este nuevo intervalo. Para ello, vamos a definir \(T\) como sigue: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; T=\frac{b-a}{2}= \frac{3-(-2)}{2}=\frac{5}{2}  &amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Dado que la base trigonométrica estándar está definida para intervalos simétricos \( [-T, T] \), realizamos el cambio de variable mencionado con anterioridad, que nos permite trasladar el intervalo de definición de \( f(x) \) a la forma simétrica. De esta forma, obtenemos la base:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; B = \left\{ \frac{1}{\sqrt{5}} \right\}  \cup \left\{ \sqrt{\frac{2}{5}} \cos\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right),  \quad \sqrt{\frac{2}{5}} \sin\left(n\left(\frac{2\pi (x+2)}{5}-\pi\right)\right)\right\}_{n\in \mathbb{N}}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP]]&lt;br /&gt;
&lt;br /&gt;
[[Categoría: EDP24/25]]&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafica1_EDP.png&amp;diff=83814</id>
		<title>Archivo:Grafica1 EDP.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Grafica1_EDP.png&amp;diff=83814"/>
				<updated>2025-02-12T18:56:41Z</updated>
		
		<summary type="html">&lt;p&gt;Marta de Miguel Prieto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marta de Miguel Prieto</name></author>	</entry>

	</feed>