Diferencia entre revisiones de «Series de Fourier (LAJS)»
| Línea 1: | Línea 1: | ||
| + | |||
| + | <gallery> | ||
| + | Poster.pdf| | ||
| + | </gallery> | ||
| + | |||
| + | |||
== Introducción == | == Introducción == | ||
La manera más común de representar la serie de Fourier de una función <math>f(x) </math> es mediante | La manera más común de representar la serie de Fourier de una función <math>f(x) </math> es mediante | ||
Revisión del 23:53 18 feb 2026
Contenido
1 Introducción
La manera más común de representar la serie de Fourier de una función [math]f(x) [/math] es mediante
[math] f(x) \sim\frac{a_0}{2 \pi} + \sum_{n=1}^{N} \left( a_n \frac{1}{\sqrt{\pi}} \cos(n x) + b_n \frac{1}{\sqrt{\pi}} \sin (n x)\right) [/math]
siendo [math] a_0,a_n,b_n [/math] los coeficientes de Fourier, que se calculan mediante las integrales:
[math] a_0 = \int_{-\pi}^{\pi} \frac{1}{\sqrt{\pi}} f(x) dx \quad a_n = \int_{-\pi}^{\pi} \frac{1}{\sqrt{\pi}} \cos(n x) f(x) dx \quad b_n = \int_{-\pi}^{\pi} \frac{1}{\sqrt{\pi}} \sin(n x) f(x) dx [/math]
Es decir, la función [math]f(x) [/math] se expresa como una combinación lineal de funciones seno y coseno con coeficientes constantes. Sin embargo, en algunos contextos reales, como la modelización de fenómenos naturales, no es razonable suponer que dichos coeficientes son conocidos de forma exacta. En algunos casos, la información que conocemos sobre el sistema puede ser intrínsecamente aleatoria, lo que motiva la introducción de modelos probabilísticos. Una forma natural de incorporar esta aleatoriedad consiste en sustituir los coeficientes de Fourier que conocemos por variables aleatorias. Este planteamiento permite definir funciones aleatorias cuyos valores, aun conservando una estructura armónica, presentan fluctuaciones controladas en función de la distribución estadística de los coeficientes.
2 Modelo matemático
Comenzamos definiendo la ecuación general que utilizaremos:
[math] f_{\sigma}(x) = \frac{a_0}{2} + \sum_{n=1}^{N} \left( a_n \cos(n\pi x) + b_n \sin(n\pi x) \right) [/math]
donde los coeficientes [math] a_n [/math] y [math] b_n [/math] serán variables aleatorias independientes e idénticamente distribuidas que se generarán a partir de distribuciones de probabilidad en lugar de calcularlos mediante integrales. Estudiaremos dos escenarios diferentes:
- Distribución uniforme: los coeficientes seguirán una distribución uniforme en el intervalo [math] [-c,c] [/math], es decir, [math]a_n, b_n \sim \operatorname{U}(-c, c) [/math]
- Distribución normal: los coeficientes seguirán una distribución normal de media 0 y varianza [math]\sigma^2[/math] , [math] a_n, b_n \sim \mathcal{N}(0, \sigma^2) [/math]
3 Cálculo de la esperanza, varianza y covarianza
3.1 Cálculo de la esperanza [math]E[f_\sigma(x)][/math]
En los casos que hemos considerado, o bien [math]a_n, b_n \sim \operatorname{U}(-c, c) [/math], por lo que [math] E[a_n]=E[b_n] = \frac{-a+a}{2}=0 [/math], o bien [math] a_n, b_n \sim \mathcal{N}(0, \sigma^2) [/math], entonces [math] E[a_n]=E[b_n] =0 [/math]. Por lo tanto la esperanza se calcula:
[math]E[f_\sigma(x)] = \sum_{n=0}^{N} [E[a_n] \cos(nx) + E[b_n] \sin(nx)] = 0 [/math]
Es decir, la esperanza es 0 para todo [math]x[/math], siempre que [math]a_n, b_n[/math] sean variables aleatorias independientes e idénticamente distribuidas centradas en la media 0.
3.2 Cálculo de la varianza [math]V(f_\sigma(x))[/math]
Utilizamos la definición de varianza [math]V(f_\sigma(x)) = E[f_\sigma(x)^2] - E[f_\sigma(x)]^2 [/math] y utilizamos el resultado del apartado anterior, [math]E[f] =0[/math], luego [math]V(f_\sigma(x)) = E[f_\sigma(x)^2][/math], y teniendo en cuenta que
- [math]f_\sigma(x)^2 = \sum_{n,m} [a_n a_m \cos(nx) \cos(mx) + b_n b_m \sin(nx) \sin(mx) + 2 a_n b_m \cos(nx) \sin(mx)][/math]
Tomando esperanza y usando independencia y que la media de [math]a_n, b_n[/math] es cero,
- [math]E[a_n a_m] = 0[/math] si [math]n \neq m[/math], [math]= \sigma_{a_n}^2[/math] si [math]n = m[/math] e igual para [math]b_n b_m[/math].
- [math]E[a_n b_m] = 0[/math] para todo [math]n, m[/math].
Entonces
- [math]V(f_\sigma(x)) = \sum_{n=0}^{N} [\sigma_{a_n}^2 \cos^2(nx) + \sigma_{b_n}^2 \sin^2(nx)][/math]
Si tomamos [math]\sigma_{a_n}^2 = \sigma_{b_n}^2 = \sigma_n^2[/math] (misma varianza para seno y coseno):
- [math]V(f_\sigma(x)) = \sum_{n=0}^{N} \sigma_n^2[/math]
independiente de [math]x[/math].
3.3 Cálculo de la covarianza [math]Cov(f_\sigma(x),f_\sigma(y))[/math]
Calculamos la covarianza de dos funciones [math]f_\sigma(x),f_\sigma(y)[/math] utilizando la definición [math]Cov(f(x), f(y)) = E[f(x)f(y)] - E[f(x)]E[f(y)][/math]. Ya hemos probado que [math]E[f_\sigma(x)] = 0[/math], por tanto basta calcular el primer término.
- [math] E[f(x)f(y)] = \sum_{n=1}^{\infty} \sigma_n^2 \left[ \cos(n\pi x)\cos(n\pi y) + \sin(n\pi x)\sin(n\pi y) \right] [/math]
Y aplicando la identidad trigonométrica [math] \cos(A)\cos(B) + \sin(A)\sin(B) = \cos(A - B) [/math] se llega a
- [math] Cov(f(x), f(y)) = \sum_{n=1}^{\infty} \sigma_n^2 \cos(n \pi (x - y)) [/math]
Hay un resultado que debemos destacar de la covarianza: su valor no depende de los puntos [math]x[/math] e [math]y[/math] por separado, sino de la distancia entre ambos, que en la fórmula que hemos calculado aparece como [math](x-y)[/math]. Vamos a representar en Matlab el mapa de calor de la covarianza para visualizar el resultado al que hemos llegado.
% Dominio
Nx = 1000;
x = linspace(0,1,Nx);
y = linspace(0,1,Nx);
% Malla (x,y)
[X,Y] = meshgrid(x,y);
% Parámetros
N = 10; % número de modos
Cov = zeros(Nx); % matriz de covarianza
% Cálculo de la covarianza
for n = 1:N
Cov = Cov + cos(n*pi*(X - Y));
end
% Mapa de calor
figure
imagesc(x,y,Cov)
axis xy
colorbar
xlabel('x')
ylabel('y')
title('Mapa de calor de la covarianza Cov(f(x), f(y))')
4 Cuestiones probabilísticas
Pasamos ahora a responder algunas cuestiones probabilísticas que nos ayuden a estudiar la función aleatoria [math]f_\sigma (x)[/math]. Por ejemplo, ¿es cierto que, fijado un punto la función tiene la misma probabilidad de ser positiva que negativa? En los casos que hemos considerado, en los que los coeficientes [math]a_n[/math] y [math]b_n[/math] son variables aleatorias que siguen o bien una distribución normal o bien una distribución uniforme con media cero (demostrado anteriormente). Por lo tanto, en el caso de la distribución normal, dado que la función [math]f_\sigma (x)[/math] es suma de variables aleatorias que siguen una distribución [math] N(0,\sigma^2)[/math] y la suma de variables normales siempre es normal, podemos afirmar que [math]f_\sigma (x) \sim N(0,\sigma^2)[/math] y por lo tanto la probabilidad de que la función sea positiva o negativa en cualquier punto será 50/50. Por otro lado, en el caso en que las variables [math]a_n[/math] y [math]b_n[/math] sigan una distribución uniforme, por el teorema central del límite sabemos que la suma de todas ellas convergerá a una distribución normal, luego la probabilidad de que [math]f_\sigma (x)[/math] sea positiva o negativa vuelve a ser 50/50. Para comprobar esto empíricamente, realizamos en Matlab una simulación que nos ayude a visualizar este fenómeno. Para ello generaremos una cantidad considerable de funciones [math]f_\sigma (x)[/math] con coeficientes que sigan la distribución que queramos. A continuación aparece el código desarrollado:
% CONFIGURACIÓN INICIAL
L = 1;
N = 20; % num de términos de la serie de Fourier
M = 20; % num de funciones aleatorias distintas a generar
num_puntos = 500;
x = linspace(-L, L, num_puntos);
F_sigma = zeros(M, num_puntos);
% GENERACIÓN DE COEFICIENTES Y FUNCIONES
distribucion = 'normal'; % Opciones: 'normal' o 'uniforme'
fprintf('Generando %d funciones aleatorias...\n', M);
for n = 1:N
% 1. Generar coeficientes aleatorios para este armónico n
if strcmp(distribucion, 'normal')
% Distribución Normal Estándar N(0,1)
an = randn(M, 1);
bn = randn(M, 1);
else
% Distribución Uniforme en [-1, 1]
an = 2*rand(M, 1) - 1;
bn = 2*rand(M, 1) - 1;
end
term_cos = an * cos(n * pi * x / L);
term_sin = bn * sin(n * pi * x / L);
F_sigma = F_sigma + term_cos + term_sin;
end
% VISUALIZACIÓN
figure('Name', 'Conjunto de Funciones Aleatorias', 'Color', 'w');
hold on; grid on;
% Graficamos las primeras 20 funciones
plot(x, F_sigma(1:20, :), 'LineWidth', 0.5, 'Color', [0, 0.4470, 0.7410, 0.3]);
% Graficamos la media empírica en negro y grueso
media_em = mean(F_sigma, 1);
plot(x, media_em, 'k-', 'LineWidth', 3, 'DisplayName', 'Esperanza E[f(x)]');
xlabel('x'); ylabel('f_{\sigma}(x)');
title(['Funciones Aleatorias de Fourier (Distribución: ' distribucion ')']);
xlim([-L, L]);