Series de Fourier (Grupo CCE)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Series de Fourier. Grupo CCE |
| Asignatura | EDP |
| Curso | 2025-26 |
| Autores | Coloma de Lara, Carlos de Miguel y Elena Rodríguez |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Contenido
1 Introducción
Este trabajo tiene como objetivo principal profundizar en la aproximación de funciones por series trigonométricas, herramienta fundamental en el estudio de las Ecuaciones en Derivadas Parciales.En este artículo, se abordan tres puntos de los propuestos: primero visualizar la base trigonométrica, segundo obtener una aproximación mediante Series de Fourier de una función continua, y tercero ilustrar el fenómeno de Gibbs al aproximar una función discontinua.
1.1 La Base Trigonométrica en [-T, T]
Para una función definida en un intervalo [math][-T, T][/math], utilizamos un conjunto de funciones que actúan como generadores del espacio. Esta familia de funciones es la denominada base trigonométrica normalizada:
[math] \mathcal{B} = \left\{ \frac{1}{\sqrt{2T}}, \frac{1}{\sqrt{T}}\cos\left(\frac{n\pi x}{T}\right), \frac{1}{\sqrt{T}}\sin\left(\frac{n\pi x}{T}\right) \right\}_{n \in \mathbb{N}} [/math]
Estas funciones son las piezas fundamentales para construir cualquier función periódica con la regularidad suficiente.
1.2 Definición de la Serie de Fourier
Dada una función [math]f(x)[/math] integrable en el intervalo [math][-T, T][/math], su desarrollo en Serie de Fourier se define como:
[math] f(x) \sim \frac{d_0}{\sqrt{2T}} + \sum_{n=1}^{\infty} d_n \cdot \frac{1}{\sqrt{T}}\cos\left(\frac{n\pi x}{T}\right) + \sum_{n=1}^{\infty} c_n \cdot \frac{1}{\sqrt{T}}\sin\left(\frac{n\pi x}{T}\right) [/math]
Donde los coeficientes de Fourier se calculan mediante las siguientes proyecciones (integrales):
- Coeficiente constante: [math] d_0 = \int_{-T}^{T} f(x) \cdot \frac{1}{\sqrt{2T}} dx [/math]
- Coeficientes de cosenos: [math] d_n = \frac{1}{\sqrt{T}} \int_{-T}^{T} f(x) \cdot \cos\left(\frac{n\pi x}{T}\right) dx [/math]
- Coeficientes de senos: [math] c_n = \frac{1}{\sqrt{T}} \int_{-T}^{T} f(x) \cdot \sin\left(\frac{n\pi x}{T}\right) dx [/math]
2 Visualizar la base trigométrica
Vamos a dibujar en una gráfica, con Matlab, los 10 primeros términos de la serie trigonométrica en [math] x\in [-1,1] [/math], para que sea más fácil visualizarla.
| Implementación en MATLAB | Resultado Gráfico |
|---|---|
% Parámetros del intervalo [-T, T]
T = 1;
x = linspace(-T, T, 1000);
n_max = 10;
% Factores de normalización de la base ortonormal
phi_0_factor = 1/sqrt(2*T);
phi_n_factor = 1/sqrt(T);
figure('Color', 'w');
% Subplot 1: Términos para d0 y dn (Cosenos - Pares)
subplot(2,1,1); hold on;
plot(x, ones(size(x)) * phi_0_factor, 'k', 'LineWidth', 2.5, 'DisplayName', 'd_0');
colors_d = lines(n_max);
for n = 1:n_max
y_cos = phi_n_factor * cos(n * pi * x / T);
plot(x, y_cos, 'Color', [colors_d(n,:), 0.5]);
end
title('Funciones de la base para d_0 y d_n (Pares)');
grid on; ylabel('Amplitud');
% Subplot 2: Términos para cn (Senos - Impares)
subplot(2,1,2); hold on;
colors_c = jet(n_max);
for n = 1:n_max
y_sin = phi_n_factor * sin(n * pi * x / T);
plot(x, y_sin, 'Color', [colors_c(n,:), 0.5]);
end
title('Funciones de la base para c_n (Impares)');
grid on; xlabel('x'); ylabel('Amplitud'); |
3 Aproximación de una función continua
En este apartado, aproximamos la función continua [math]f(x) = 1 - 2|1/2 - x|[/math] en el intervalo [math][0, 1][/math].
3.1 Extensión Impar y Base de Senos
Para trabajar en el intervalo [math][-1, 1][/math], extendemos la función de forma impar. Definimos la extensión [math]g(x)[/math] como:
[math] g(x) = \begin{cases} f(x), & x \in [0, 1] \\ -f(-x), & x \in [-1, 0) \end{cases} [/math]
Sustituyendo la expresión de [math]f(x)[/math], obtenemos la función definida a trozos que es continua en todo el intervalo [math][-1, 1][/math]:
[math] g(x) = \begin{cases} -2 - 2x, & -1 \le x \lt -\frac{1}{2} \\ 2x, & -\frac{1}{2} \le x \lt \frac{1}{2} \\ 2 - 2x, & \frac{1}{2} \le x \le 1 \end{cases} [/math]
Por tanto, la serie de Fourier se reduce a una suma de senos:
3.2 Implementación y Estudio de Convergencia
Calculamos los coeficientes [math]a_k[/math] mediante la fórmula del trapecio con una división de [math]10^{-3}[/math]. Evaluamos el error en las normas [math]L^2[/math] y uniforme ([math]L^\infty[/math]) para observar la calidad de la aproximación en función del número de términos de la serie. Luego hemos dibujado en una gráfica el error en ambas normas en función de n, donde podemos ver que las gráficas obtenidas son del tipo exponencial negativa.
| Implementación en MATLAB | |
|---|---|
% Parámetros iniciales
dx = 1e-3; % división sugerida
x = 0:dx:1;
f = 1 - 2*abs(0.5 - x);
% Configuración de términos para visualización
valores_n = [1, 5, 10];
figure(1);
plot(x, f, 'k--', 'LineWidth', 2); hold on;
% Bucle para calcular aproximaciones y errores
N_max = 50;
err_L2 = zeros(1, N_max);
err_inf = zeros(1, N_max);
for n = 1:N_max
fn = zeros(size(x));
for k = 1:n
% Cálculo de ak mediante trapecio
integrando = 2 * f .* sin(k * pi * x);
ak = trapz(x, integrando);
% suma de los términos impares
fn = fn + ak * sin(k * pi * x);
end
% guardar errores en normas L2 y uniforme
err_L2(n) = sqrt(trapz(x, (f - fn).^2));
err_inf(n) = max(abs(f - fn));
if ismember(n, valores_n)
plot(x, fn, 'DisplayName', ['n = ' num2str(n)]);
end
end
title('Aproximación de f(x) por Serie de Fourier (Senos)');
xlabel('x'); ylabel('f(x)');
legend('Original', 'n=1', 'n=5', 'n=10');
grid on;
% gráfica de Errores
figure(2);
subplot(2,1,1);
plot(1:N_max, err_L2, 'bo-', 'LineWidth', 1.5);
title('Evolución del Error en Norma L^2');
xlabel('n (términos)'); ylabel('Error'); grid on;
subplot(2,1,2);
plot(1:N_max, err_inf, 'ro-', 'LineWidth', 1.5);
title('Evolución del Error en Norma Uniforme');
xlabel('n (términos)'); ylabel('Error'); grid on; | |
| Resultado de la Aproximación | Estudio de Convergencia |