Diferencia entre revisiones de «Series de Fourier (Grupo ACIRV)»

De MateWiki
Saltar a: navegación, buscar
(Base trigonométrica compleja)
(Base trigonométrica compleja)
Línea 17: Línea 17:
  
 
Utilizando el siguiente código en MATLAB, se pueden representar los 10 primeros elementos de la base en una gráfica:
 
Utilizando el siguiente código en MATLAB, se pueden representar los 10 primeros elementos de la base en una gráfica:
[[Archivo:EJ1_1_2_ACIRV.jpeg|225px|thumb|right|upright=0.6]]
+
{{matlab|codigo=  
[[Archivo:EJ1_SENO_ACIRV.png|225px|thumb|right|upright=0.1]]
+
[[Archivo:EJ1_COSENO_ACIRV.png|225px|thumb|right|upright=0.1]]
+
 
+
{{matlab|codigo=
+
 
% Definimos la malla para pintar funciones del [-1,1]
 
% Definimos la malla para pintar funciones del [-1,1]
 
x = linspace(-1, 1, 1000);   
 
x = linspace(-1, 1, 1000);   
n_max = 5;                  %Número de funciones a pintar para seno y coseni
+
n_max = 5;                  % Número de funciones a pintar para seno y coseno
  
 
% Pintamos la gráfica de f = 1/2
 
% Pintamos la gráfica de f = 1/2
Línea 33: Línea 29:
 
% Pintamos cos(n*pi*x) y sin(n*pi*x) para n = 1 hasta n_max
 
% Pintamos cos(n*pi*x) y sin(n*pi*x) para n = 1 hasta n_max
 
for n = 1:n_max
 
for n = 1:n_max
     % Definimos las funciones funciones
+
     % Definimos las funciones
 
     f_cos = cos(n * pi * x);
 
     f_cos = cos(n * pi * x);
 
     f_sin = sin(n * pi * x);
 
     f_sin = sin(n * pi * x);
 
+
   
 
     plot(x, f_cos, 'LineWidth', 1, 'DisplayName', sprintf('cos(%d\\pi x)', n));
 
     plot(x, f_cos, 'LineWidth', 1, 'DisplayName', sprintf('cos(%d\\pi x)', n));
 
+
   
 
     plot(x, f_sin,'--', 'LineWidth', 1, 'DisplayName', sprintf('sin(%d\\pi x)', n));
 
     plot(x, f_sin,'--', 'LineWidth', 1, 'DisplayName', sprintf('sin(%d\\pi x)', n));
 
end
 
end
Línea 46: Línea 42:
 
xlabel('x');
 
xlabel('x');
 
ylabel('Valor de la función');
 
ylabel('Valor de la función');
legend('show', 'Location', 'BestOutside');
+
legend('show', 'Location', 'BestOutside');  
 
grid on;
 
grid on;
 
axis([-1 1 -1.5 1.5]);
 
axis([-1 1 -1.5 1.5]);
  
 
hold off;
 
hold off;
 
 
}}
 
}}
 +
 +
<div style="text-align: center; margin-top: 10px;">
 +
  <div style="display: inline-block; margin-right: 10px;">
 +
    [[Archivo:EJ1_SENO_ACIRV.png|400px|none|Seno]]
 +
  </div>
 +
  <div style="display: inline-block;">
 +
    [[Archivo:EJ1_COSENO_ACIRV.png|400px|none|Coseno]]
 +
  </div>
 +
  <div style="display: inline-block;">
 +
    [[Archivo:EJ1_1_2_ACIRV.jpeg|400px|none|Coseno]]
 +
  </div>
 +
</div>
  
 
=Aproximación de una función continua=
 
=Aproximación de una función continua=

Revisión del 12:40 14 feb 2025

Trabajo realizado por estudiantes
Título Series de Fourier (Grupo ACIRV).
Asignatura EDP
Curso 2024-25
Autores Ángela Sotelo Fernández, Carmen Doñoro Molina, Inés Torres Gómez, Rubén Gutiérrez Hernández, Violeta Luján Barrios.
Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

2 Base trigonométrica compleja

La base trigonométrica es una base del espacio [math]L^2([-\pi,\pi])[/math], por lo que las funciones pertenecientes a este espacio pueden escribirse como una combinación lineal de los elementos de la base. A estas expresiones se les llama series de Fourier.

Dado que es una base ortonormal, sus coeficientes pueden calcularse mediante integración, obteniendo las siguientes fórmulas:

[math]d_0 = \int_{-\pi}^{\pi} f(x) \frac{1}{2} \, dx[/math]

[math]d_n = \int_{-\pi}^{\pi} f(x) \cos(n\pi x) \, dx[/math]

[math]c_n = \int_{-\pi}^{\pi} f(x) \sin(n\pi x) \, dx[/math]

Utilizando el siguiente código en MATLAB, se pueden representar los 10 primeros elementos de la base en una gráfica:

% Definimos la malla para pintar funciones del [-1,1]
x = linspace(-1, 1, 1000);  
n_max = 5;                  % Número de funciones a pintar para seno y coseno

% Pintamos la gráfica de f = 1/2
figure;
plot(x, 1/2 * ones(size(x)), 'k', 'LineWidth', 1, 'DisplayName', '1/2');
hold on;

% Pintamos cos(n*pi*x) y sin(n*pi*x) para n = 1 hasta n_max
for n = 1:n_max
    % Definimos las funciones
    f_cos = cos(n * pi * x);
    f_sin = sin(n * pi * x);
    
    plot(x, f_cos, 'LineWidth', 1, 'DisplayName', sprintf('cos(%d\\pi x)', n));
    
    plot(x, f_sin,'--', 'LineWidth', 1, 'DisplayName', sprintf('sin(%d\\pi x)', n));
end

% Ponemos leyenda en la gráfica
title(sprintf('Base \\{1/2, cos(n\\pi x), sin(n\\pi x)\\} para n = 1 ... %d', n_max));
xlabel('x');
ylabel('Valor de la función');
legend('show', 'Location', 'BestOutside'); 
grid on;
axis([-1 1 -1.5 1.5]);

hold off;


   Seno
   Coseno
   Coseno

3 Aproximación de una función continua

4 Aproximación de una función discontinua