<?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=Noe.rico</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=Noe.rico"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Noe.rico"/>
		<updated>2026-04-23T12:18:19Z</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_PNL&amp;diff=104494</id>
		<title>Ecuación del calor PNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_PNL&amp;diff=104494"/>
				<updated>2026-04-12T10:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor. Grupo PNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_PNL2.png||900px]]&lt;br /&gt;
[[Archivo:Poster_PNL2.pdf]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN DEL SISTEMA INICIAL=&lt;br /&gt;
El primer código para visualizar la solución del sistema inicial es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 9*X + 1;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    cn = 18 / (n * pi);&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS DEL SI=&lt;br /&gt;
El código para observar el flujo en los extremos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = -9 * ones(size(t));&lt;br /&gt;
Phi1 = -9 * ones(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 - 18 * exp(-(n*pi)^2 .* t);&lt;br /&gt;
    Phi1 = Phi1 - 18 * (-1)^n * exp(-(n*pi)^2 .* t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CAMBIO DE COEFICIENTE DE DIFUSIÓN=&lt;br /&gt;
El código utilizado para la solución con coeficiente de difusión 0.5 y la comparación con el coeficiente de difusión 1 es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
x = linspace(0, 1, 1000);      % mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);      % mallado temporal (incluye t=0)&lt;br /&gt;
[X, T] = meshgrid(x, t);      % malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria &lt;br /&gt;
v = 9*X + 1;                  &lt;br /&gt;
&lt;br /&gt;
% Número de términos de la serie&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Coeficientes c_n &lt;br /&gt;
c = zeros(1, N);&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    c(n) = 18 / (n * pi);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% 1. Solución para k = 0.5&lt;br /&gt;
k1 = 0.5;&lt;br /&gt;
w_k05 = zeros(size(X));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*X) .* exp(-k1 * (n*pi)^2 .* T);&lt;br /&gt;
    w_k05 = w_k05 + wn;&lt;br /&gt;
end&lt;br /&gt;
u_k05 = v + w_k05;&lt;br /&gt;
&lt;br /&gt;
% Gráfica 3D para k=0.5&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u_k05, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x'); ylabel('t'); zlabel('u(x,t)');&lt;br /&gt;
title('Solución con conductividad k = 0.5 (primeros 10 términos)');&lt;br /&gt;
colormap('jet'); colorbar; grid on;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% 2. Diferencia u(1/2,t)-uest(1/2) para ambos k&lt;br /&gt;
% Punto medio x=0.5&lt;br /&gt;
x_mid = 0.5;&lt;br /&gt;
% Para k=1 (original)&lt;br /&gt;
k_orig = 1;&lt;br /&gt;
w_diff_orig = zeros(size(t));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*x_mid) .* exp(-k_orig * (n*pi)^2 .* t);&lt;br /&gt;
    w_diff_orig = w_diff_orig + wn;&lt;br /&gt;
end&lt;br /&gt;
% Para k=0.5&lt;br /&gt;
w_diff_k05 = zeros(size(t));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*x_mid) .* exp(-k1 * (n*pi)^2 .* t);&lt;br /&gt;
    w_diff_k05 = w_diff_k05 + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Valor estacionario en x=0.5&lt;br /&gt;
uest_mid = 9*x_mid + 1;   % = 5.5&lt;br /&gt;
% La diferencia es simplemente w(x=0.5,t)&lt;br /&gt;
diff_orig = w_diff_orig;&lt;br /&gt;
diff_k05 = w_diff_k05;&lt;br /&gt;
&lt;br /&gt;
% Gráfica comparativa&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, diff_orig, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, diff_k05, 'r--', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t'); ylabel('u(0.5,t) - u_{est}(0.5)');&lt;br /&gt;
legend('k = 1', 'k = 0.5', 'Location', 'best');&lt;br /&gt;
title('Evolución de la diferencia respecto al estado estacionario en x = 0.5');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN CON CAMBIO EN LAS CONDICIONES INICIALES=&lt;br /&gt;
El código para visualizar la solución del sistema con las condiciones iniciales modificadas es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 10;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N &lt;br /&gt;
    cn = 20/(n*pi)*(cos(2*pi*n/3)-cos(pi*n/3));&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS CON CAMBIO EN CONDICIONES INICIALES=&lt;br /&gt;
Para visualizar el flujo con las nuevas condiciones iniciales utilizamos el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = zeros(size(t));&lt;br /&gt;
Phi1 = zeros(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 - 20 * (cos(2*pi*n/3)-cos(pi*n/3))* exp(-(n*pi)^2 .* t);&lt;br /&gt;
    Phi1 = Phi1 - 20 * (cos(2*pi*n/3)-cos(pi*n/3))*(-1)^n * exp(-(n*pi)^2 .* t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN CON CAMBIO EN LAS CONDICIONES FRONTERA=&lt;br /&gt;
El código para observar la solución con el sistema con distintas condiciones de frontera es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 10;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 0:N &lt;br /&gt;
    cn = -40/((n+1/2)*pi)*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2));&lt;br /&gt;
    wn = cn * cos((1/2 + n)*pi.*X).*exp(-((1/2+n)*pi)^2.*T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS CON CAMBIO EN CONDICIONES FRONTERA=&lt;br /&gt;
Para ver el flujo en los extremos del problema con distintas condiciones de fronteras utilizamos el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = zeros(size(t));&lt;br /&gt;
Phi1 = zeros(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 + 40*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2)) * sin((1/2 + n)*pi.*0)*exp(-((1/2+n)*pi)^2.*t);&lt;br /&gt;
    Phi1 = Phi1 + 40*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2)) * sin((1/2 + n)*pi)*exp(-((1/2+n)*pi)^2.*t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PRINCIPIO DE COMPARACIÓN=&lt;br /&gt;
El código para visualizar el principio de comparación es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
x = linspace(0, 1, 1000);      % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);      % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);       % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria (cota inferior)&lt;br /&gt;
v = 9 * X + 1;                  % v(x,t) = 9x+1&lt;br /&gt;
&lt;br /&gt;
% Cota superior constante&lt;br /&gt;
z = 10 * ones(size(X));         % z(x,t) = 10&lt;br /&gt;
&lt;br /&gt;
% Cálculo de la solución u(x,t) del problema original&lt;br /&gt;
% u_t = u_xx, con u(0,t)=1, u(1,t)=10, u(x,0)=10&lt;br /&gt;
% La solución se escribe como u = v + w, donde w se obtiene por separación de variables&lt;br /&gt;
N = 1000;                         % Número de términos de Fourier&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    cn = 18 / (n * pi);         % Coeficientes de la serie de Fourier de 10 - (9x+1) = 9(1-x)&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
u = v + w;                      % Solución completa&lt;br /&gt;
&lt;br /&gt;
% Gráfica 3D que muestra u(x,t) y las dos cotas&lt;br /&gt;
figure;&lt;br /&gt;
% Superficie de la solución&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none', 'FaceAlpha', 0.8);&lt;br /&gt;
hold on;&lt;br /&gt;
% Cota inferior v(x,t) = 9x+1&lt;br /&gt;
surf(X, T, v, 'EdgeColor', 'none', 'FaceAlpha', 0.4, 'FaceColor', 'green');&lt;br /&gt;
% Cota superior z(x,t) = 10&lt;br /&gt;
surf(X, T, z, 'EdgeColor', 'none', 'FaceAlpha', 0.4, 'FaceColor', 'red');&lt;br /&gt;
&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Comparación: solución u(x,t) acotada entre 9x+1 (verde) y 10 (rojo)');&lt;br /&gt;
legend('u(x,t)', '9x+1 (cota inferior)', '10 (cota superior)', 'Location', 'best');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_PNL2.png&amp;diff=104493</id>
		<title>Archivo:Poster PNL2.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_PNL2.png&amp;diff=104493"/>
				<updated>2026-04-12T10:26:24Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_PNL2.pdf&amp;diff=104492</id>
		<title>Archivo:Poster PNL2.pdf</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_PNL2.pdf&amp;diff=104492"/>
				<updated>2026-04-12T10:22:01Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_PNL&amp;diff=104491</id>
		<title>Ecuación del calor PNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_PNL&amp;diff=104491"/>
				<updated>2026-04-12T10:21:20Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor. Grupo PNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_PNL2.jpg||900px]]&lt;br /&gt;
[[Archivo:Poster_PNL2.pdf]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN DEL SISTEMA INICIAL=&lt;br /&gt;
El primer código para visualizar la solución del sistema inicial es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 9*X + 1;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    cn = 18 / (n * pi);&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS DEL SI=&lt;br /&gt;
El código para observar el flujo en los extremos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = -9 * ones(size(t));&lt;br /&gt;
Phi1 = -9 * ones(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 - 18 * exp(-(n*pi)^2 .* t);&lt;br /&gt;
    Phi1 = Phi1 - 18 * (-1)^n * exp(-(n*pi)^2 .* t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CAMBIO DE COEFICIENTE DE DIFUSIÓN=&lt;br /&gt;
El código utilizado para la solución con coeficiente de difusión 0.5 y la comparación con el coeficiente de difusión 1 es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
x = linspace(0, 1, 1000);      % mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);      % mallado temporal (incluye t=0)&lt;br /&gt;
[X, T] = meshgrid(x, t);      % malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria &lt;br /&gt;
v = 9*X + 1;                  &lt;br /&gt;
&lt;br /&gt;
% Número de términos de la serie&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Coeficientes c_n &lt;br /&gt;
c = zeros(1, N);&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    c(n) = 18 / (n * pi);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% 1. Solución para k = 0.5&lt;br /&gt;
k1 = 0.5;&lt;br /&gt;
w_k05 = zeros(size(X));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*X) .* exp(-k1 * (n*pi)^2 .* T);&lt;br /&gt;
    w_k05 = w_k05 + wn;&lt;br /&gt;
end&lt;br /&gt;
u_k05 = v + w_k05;&lt;br /&gt;
&lt;br /&gt;
% Gráfica 3D para k=0.5&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u_k05, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x'); ylabel('t'); zlabel('u(x,t)');&lt;br /&gt;
title('Solución con conductividad k = 0.5 (primeros 10 términos)');&lt;br /&gt;
colormap('jet'); colorbar; grid on;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% 2. Diferencia u(1/2,t)-uest(1/2) para ambos k&lt;br /&gt;
% Punto medio x=0.5&lt;br /&gt;
x_mid = 0.5;&lt;br /&gt;
% Para k=1 (original)&lt;br /&gt;
k_orig = 1;&lt;br /&gt;
w_diff_orig = zeros(size(t));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*x_mid) .* exp(-k_orig * (n*pi)^2 .* t);&lt;br /&gt;
    w_diff_orig = w_diff_orig + wn;&lt;br /&gt;
end&lt;br /&gt;
% Para k=0.5&lt;br /&gt;
w_diff_k05 = zeros(size(t));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*x_mid) .* exp(-k1 * (n*pi)^2 .* t);&lt;br /&gt;
    w_diff_k05 = w_diff_k05 + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Valor estacionario en x=0.5&lt;br /&gt;
uest_mid = 9*x_mid + 1;   % = 5.5&lt;br /&gt;
% La diferencia es simplemente w(x=0.5,t)&lt;br /&gt;
diff_orig = w_diff_orig;&lt;br /&gt;
diff_k05 = w_diff_k05;&lt;br /&gt;
&lt;br /&gt;
% Gráfica comparativa&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, diff_orig, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, diff_k05, 'r--', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t'); ylabel('u(0.5,t) - u_{est}(0.5)');&lt;br /&gt;
legend('k = 1', 'k = 0.5', 'Location', 'best');&lt;br /&gt;
title('Evolución de la diferencia respecto al estado estacionario en x = 0.5');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN CON CAMBIO EN LAS CONDICIONES INICIALES=&lt;br /&gt;
El código para visualizar la solución del sistema con las condiciones iniciales modificadas es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 10;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N &lt;br /&gt;
    cn = 20/(n*pi)*(cos(2*pi*n/3)-cos(pi*n/3));&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS CON CAMBIO EN CONDICIONES INICIALES=&lt;br /&gt;
Para visualizar el flujo con las nuevas condiciones iniciales utilizamos el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = zeros(size(t));&lt;br /&gt;
Phi1 = zeros(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 - 20 * (cos(2*pi*n/3)-cos(pi*n/3))* exp(-(n*pi)^2 .* t);&lt;br /&gt;
    Phi1 = Phi1 - 20 * (cos(2*pi*n/3)-cos(pi*n/3))*(-1)^n * exp(-(n*pi)^2 .* t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN CON CAMBIO EN LAS CONDICIONES FRONTERA=&lt;br /&gt;
El código para observar la solución con el sistema con distintas condiciones de frontera es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 10;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 0:N &lt;br /&gt;
    cn = -40/((n+1/2)*pi)*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2));&lt;br /&gt;
    wn = cn * cos((1/2 + n)*pi.*X).*exp(-((1/2+n)*pi)^2.*T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS CON CAMBIO EN CONDICIONES FRONTERA=&lt;br /&gt;
Para ver el flujo en los extremos del problema con distintas condiciones de fronteras utilizamos el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = zeros(size(t));&lt;br /&gt;
Phi1 = zeros(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 + 40*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2)) * sin((1/2 + n)*pi.*0)*exp(-((1/2+n)*pi)^2.*t);&lt;br /&gt;
    Phi1 = Phi1 + 40*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2)) * sin((1/2 + n)*pi)*exp(-((1/2+n)*pi)^2.*t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PRINCIPIO DE COMPARACIÓN=&lt;br /&gt;
El código para visualizar el principio de comparación es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
x = linspace(0, 1, 1000);      % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);      % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);       % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria (cota inferior)&lt;br /&gt;
v = 9 * X + 1;                  % v(x,t) = 9x+1&lt;br /&gt;
&lt;br /&gt;
% Cota superior constante&lt;br /&gt;
z = 10 * ones(size(X));         % z(x,t) = 10&lt;br /&gt;
&lt;br /&gt;
% Cálculo de la solución u(x,t) del problema original&lt;br /&gt;
% u_t = u_xx, con u(0,t)=1, u(1,t)=10, u(x,0)=10&lt;br /&gt;
% La solución se escribe como u = v + w, donde w se obtiene por separación de variables&lt;br /&gt;
N = 1000;                         % Número de términos de Fourier&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    cn = 18 / (n * pi);         % Coeficientes de la serie de Fourier de 10 - (9x+1) = 9(1-x)&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
u = v + w;                      % Solución completa&lt;br /&gt;
&lt;br /&gt;
% Gráfica 3D que muestra u(x,t) y las dos cotas&lt;br /&gt;
figure;&lt;br /&gt;
% Superficie de la solución&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none', 'FaceAlpha', 0.8);&lt;br /&gt;
hold on;&lt;br /&gt;
% Cota inferior v(x,t) = 9x+1&lt;br /&gt;
surf(X, T, v, 'EdgeColor', 'none', 'FaceAlpha', 0.4, 'FaceColor', 'green');&lt;br /&gt;
% Cota superior z(x,t) = 10&lt;br /&gt;
surf(X, T, z, 'EdgeColor', 'none', 'FaceAlpha', 0.4, 'FaceColor', 'red');&lt;br /&gt;
&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Comparación: solución u(x,t) acotada entre 9x+1 (verde) y 10 (rojo)');&lt;br /&gt;
legend('u(x,t)', '9x+1 (cota inferior)', '10 (cota superior)', 'Location', 'best');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_PNL&amp;diff=104490</id>
		<title>Ecuación del calor PNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Ecuaci%C3%B3n_del_calor_PNL&amp;diff=104490"/>
				<updated>2026-04-12T10:17:51Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: Página creada con «{{ TrabajoED | Ecuación del calor. Grupo PNL | EDP|2025-26 | Paula León  Noé Rico  Leo Zambrano  }}  Archivo:Poster_EPNL.p...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Ecuación del calor. Grupo PNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||900px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN DEL SISTEMA INICIAL=&lt;br /&gt;
El primer código para visualizar la solución del sistema inicial es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 9*X + 1;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    cn = 18 / (n * pi);&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS DEL SI=&lt;br /&gt;
El código para observar el flujo en los extremos es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = -9 * ones(size(t));&lt;br /&gt;
Phi1 = -9 * ones(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 - 18 * exp(-(n*pi)^2 .* t);&lt;br /&gt;
    Phi1 = Phi1 - 18 * (-1)^n * exp(-(n*pi)^2 .* t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CAMBIO DE COEFICIENTE DE DIFUSIÓN=&lt;br /&gt;
El código utilizado para la solución con coeficiente de difusión 0.5 y la comparación con el coeficiente de difusión 1 es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
x = linspace(0, 1, 1000);      % mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);      % mallado temporal (incluye t=0)&lt;br /&gt;
[X, T] = meshgrid(x, t);      % malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria &lt;br /&gt;
v = 9*X + 1;                  &lt;br /&gt;
&lt;br /&gt;
% Número de términos de la serie&lt;br /&gt;
N = 10;&lt;br /&gt;
&lt;br /&gt;
% Coeficientes c_n &lt;br /&gt;
c = zeros(1, N);&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    c(n) = 18 / (n * pi);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% 1. Solución para k = 0.5&lt;br /&gt;
k1 = 0.5;&lt;br /&gt;
w_k05 = zeros(size(X));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*X) .* exp(-k1 * (n*pi)^2 .* T);&lt;br /&gt;
    w_k05 = w_k05 + wn;&lt;br /&gt;
end&lt;br /&gt;
u_k05 = v + w_k05;&lt;br /&gt;
&lt;br /&gt;
% Gráfica 3D para k=0.5&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u_k05, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x'); ylabel('t'); zlabel('u(x,t)');&lt;br /&gt;
title('Solución con conductividad k = 0.5 (primeros 10 términos)');&lt;br /&gt;
colormap('jet'); colorbar; grid on;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% 2. Diferencia u(1/2,t)-uest(1/2) para ambos k&lt;br /&gt;
% Punto medio x=0.5&lt;br /&gt;
x_mid = 0.5;&lt;br /&gt;
% Para k=1 (original)&lt;br /&gt;
k_orig = 1;&lt;br /&gt;
w_diff_orig = zeros(size(t));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*x_mid) .* exp(-k_orig * (n*pi)^2 .* t);&lt;br /&gt;
    w_diff_orig = w_diff_orig + wn;&lt;br /&gt;
end&lt;br /&gt;
% Para k=0.5&lt;br /&gt;
w_diff_k05 = zeros(size(t));&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    wn = c(n) * sin(n*pi*x_mid) .* exp(-k1 * (n*pi)^2 .* t);&lt;br /&gt;
    w_diff_k05 = w_diff_k05 + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Valor estacionario en x=0.5&lt;br /&gt;
uest_mid = 9*x_mid + 1;   % = 5.5&lt;br /&gt;
% La diferencia es simplemente w(x=0.5,t)&lt;br /&gt;
diff_orig = w_diff_orig;&lt;br /&gt;
diff_k05 = w_diff_k05;&lt;br /&gt;
&lt;br /&gt;
% Gráfica comparativa&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, diff_orig, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, diff_k05, 'r--', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t'); ylabel('u(0.5,t) - u_{est}(0.5)');&lt;br /&gt;
legend('k = 1', 'k = 0.5', 'Location', 'best');&lt;br /&gt;
title('Evolución de la diferencia respecto al estado estacionario en x = 0.5');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN CON CAMBIO EN LAS CONDICIONES INICIALES=&lt;br /&gt;
El código para visualizar la solución del sistema con las condiciones iniciales modificadas es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 10;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N &lt;br /&gt;
    cn = 20/(n*pi)*(cos(2*pi*n/3)-cos(pi*n/3));&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS CON CAMBIO EN CONDICIONES INICIALES=&lt;br /&gt;
Para visualizar el flujo con las nuevas condiciones iniciales utilizamos el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = zeros(size(t));&lt;br /&gt;
Phi1 = zeros(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 - 20 * (cos(2*pi*n/3)-cos(pi*n/3))* exp(-(n*pi)^2 .* t);&lt;br /&gt;
    Phi1 = Phi1 - 20 * (cos(2*pi*n/3)-cos(pi*n/3))*(-1)^n * exp(-(n*pi)^2 .* t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=SOLUCIÓN CON CAMBIO EN LAS CONDICIONES FRONTERA=&lt;br /&gt;
El código para observar la solución con el sistema con distintas condiciones de frontera es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parametros&lt;br /&gt;
x = linspace(0, 1, 1000);    % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);    % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);    % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria&lt;br /&gt;
v = 10;&lt;br /&gt;
&lt;br /&gt;
% Primeros terminos de Fourier&lt;br /&gt;
N = 10;                     % Número de términos&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 0:N &lt;br /&gt;
    cn = -40/((n+1/2)*pi)*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2));&lt;br /&gt;
    wn = cn * cos((1/2 + n)*pi.*X).*exp(-((1/2+n)*pi)^2.*T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Solución tras el cambio&lt;br /&gt;
u = w + v;&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none');&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Solución de la ecuación del calor: u(x,t) con primeros 10 términos');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=FLUJO EN LOS EXTREMOS CON CAMBIO EN CONDICIONES FRONTERA=&lt;br /&gt;
Para ver el flujo en los extremos del problema con distintas condiciones de fronteras utilizamos el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
t = linspace(1e-16, 1, 1000);   % tiempo, evitando t=0 exacto&lt;br /&gt;
N = 10;                         % número de términos&lt;br /&gt;
&lt;br /&gt;
% Inicializar flujos&lt;br /&gt;
Phi0 = zeros(size(t));&lt;br /&gt;
Phi1 = zeros(size(t));&lt;br /&gt;
&lt;br /&gt;
% Sumar los N primeros términos&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    Phi0 = Phi0 + 40*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2)) * sin((1/2 + n)*pi.*0)*exp(-((1/2+n)*pi)^2.*t);&lt;br /&gt;
    Phi1 = Phi1 + 40*sin((pi/12) + (n*pi/6)) * cos((pi/4) + (n*pi/2)) * sin((1/2 + n)*pi)*exp(-((1/2+n)*pi)^2.*t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% Gráfica&lt;br /&gt;
figure;&lt;br /&gt;
plot(t, Phi0, 'b-', 'LineWidth', 1.5); hold on;&lt;br /&gt;
plot(t, Phi1, 'r-', 'LineWidth', 1.5);&lt;br /&gt;
xlabel('tiempo t');&lt;br /&gt;
ylabel('Flujo de calor Φ(x,t)');&lt;br /&gt;
legend('Φ(0,t) (extremo izquierdo)', 'Φ(1,t) (extremo derecho)', 'Location', 'best');&lt;br /&gt;
title('Flujo de calor en los extremos de la varilla');&lt;br /&gt;
grid on;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PRINCIPIO DE COMPARACIÓN=&lt;br /&gt;
El código para visualizar el principio de comparación es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
% Parámetros&lt;br /&gt;
x = linspace(0, 1, 1000);      % Mallado espacial&lt;br /&gt;
t = linspace(0, 1, 1000);      % Mallado temporal&lt;br /&gt;
[X, T] = meshgrid(x, t);       % Malla 2D&lt;br /&gt;
&lt;br /&gt;
% Solución estacionaria (cota inferior)&lt;br /&gt;
v = 9 * X + 1;                  % v(x,t) = 9x+1&lt;br /&gt;
&lt;br /&gt;
% Cota superior constante&lt;br /&gt;
z = 10 * ones(size(X));         % z(x,t) = 10&lt;br /&gt;
&lt;br /&gt;
% Cálculo de la solución u(x,t) del problema original&lt;br /&gt;
% u_t = u_xx, con u(0,t)=1, u(1,t)=10, u(x,0)=10&lt;br /&gt;
% La solución se escribe como u = v + w, donde w se obtiene por separación de variables&lt;br /&gt;
N = 1000;                         % Número de términos de Fourier&lt;br /&gt;
w = zeros(size(X));&lt;br /&gt;
&lt;br /&gt;
for n = 1:N&lt;br /&gt;
    cn = 18 / (n * pi);         % Coeficientes de la serie de Fourier de 10 - (9x+1) = 9(1-x)&lt;br /&gt;
    wn = cn * sin(n * pi .* X) .* exp(-(n * pi)^2 .* T);&lt;br /&gt;
    w = w + wn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
u = v + w;                      % Solución completa&lt;br /&gt;
&lt;br /&gt;
% Gráfica 3D que muestra u(x,t) y las dos cotas&lt;br /&gt;
figure;&lt;br /&gt;
% Superficie de la solución&lt;br /&gt;
surf(X, T, u, 'EdgeColor', 'none', 'FaceAlpha', 0.8);&lt;br /&gt;
hold on;&lt;br /&gt;
% Cota inferior v(x,t) = 9x+1&lt;br /&gt;
surf(X, T, v, 'EdgeColor', 'none', 'FaceAlpha', 0.4, 'FaceColor', 'green');&lt;br /&gt;
% Cota superior z(x,t) = 10&lt;br /&gt;
surf(X, T, z, 'EdgeColor', 'none', 'FaceAlpha', 0.4, 'FaceColor', 'red');&lt;br /&gt;
&lt;br /&gt;
xlabel('x');&lt;br /&gt;
ylabel('t');&lt;br /&gt;
zlabel('u(x,t)');&lt;br /&gt;
title('Comparación: solución u(x,t) acotada entre 9x+1 (verde) y 10 (rojo)');&lt;br /&gt;
legend('u(x,t)', '9x+1 (cota inferior)', '10 (cota superior)', 'Location', 'best');&lt;br /&gt;
colormap('jet');&lt;br /&gt;
colorbar;&lt;br /&gt;
view(45, 30);   &lt;br /&gt;
grid on;&lt;br /&gt;
hold off;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104187</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104187"/>
				<updated>2026-02-18T20:48:09Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||900px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=CODIGO 1 =&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CODIGO 2=&lt;br /&gt;
El código para la simulación de la probabilidad mediante Monte Carlo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
# -------------------------&lt;br /&gt;
# Parámetros del modelo&lt;br /&gt;
# -------------------------&lt;br /&gt;
L = np.pi&lt;br /&gt;
N = 30&lt;br /&gt;
seed = 0&lt;br /&gt;
&lt;br /&gt;
M = 3000&lt;br /&gt;
ells = np.array([1e-3, 2e-3, 5e-3, 1e-2, 2e-2, 5e-2, 0.1, 0.2, 0.4, 0.7, 1.0, L])&lt;br /&gt;
&lt;br /&gt;
# Malla adaptativa (densidad constante)&lt;br /&gt;
points_per_unit = 120&lt;br /&gt;
Jmin, Jmax = 11, 500&lt;br /&gt;
&lt;br /&gt;
rng = np.random.default_rng(seed)&lt;br /&gt;
&lt;br /&gt;
n = np.arange(1, N + 1)&lt;br /&gt;
&lt;br /&gt;
def sample_coeffs():&lt;br /&gt;
    A0 = rng.normal(0.0, 1.0)&lt;br /&gt;
    A = rng.normal(0.0, 1.0, size=N)&lt;br /&gt;
    B = rng.normal(0.0, 1.0, size=N)&lt;br /&gt;
    return A0, A, B&lt;br /&gt;
&lt;br /&gt;
def eval_f_on_grid(xgrid, A0, A, B):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Evalúa la serie de Fourier en los puntos xgrid&lt;br /&gt;
    &lt;br /&gt;
    Args:&lt;br /&gt;
        xgrid: array de puntos donde evaluar (J,)&lt;br /&gt;
        A0: término constante (escalar)&lt;br /&gt;
        A: coeficientes coseno (N,)&lt;br /&gt;
        B: coeficientes seno (N,)&lt;br /&gt;
    &lt;br /&gt;
    Returns:&lt;br /&gt;
        f: array (J,) con los valores de la función&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # Crear matriz theta: (J, N) donde theta[j, n-1] = (π/L) * xgrid[j] * n&lt;br /&gt;
    theta = (np.pi / L) * np.outer(xgrid, n)&lt;br /&gt;
    &lt;br /&gt;
    # Calcular la serie de Fourier sin usar @&lt;br /&gt;
    # Para cada punto x, sumamos sobre n: A_n*cos(theta_n) + B_n*sin(theta_n)&lt;br /&gt;
    cos_terms = np.cos(theta) * A  # Multiplicación elemento a elemento, luego se suma sobre n&lt;br /&gt;
    sin_terms = np.sin(theta) * B&lt;br /&gt;
    &lt;br /&gt;
    # Sumar sobre el eje de los términos (axis=1)&lt;br /&gt;
    f = A0 + np.sum(cos_terms, axis=1) + np.sum(sin_terms, axis=1)&lt;br /&gt;
    &lt;br /&gt;
    return f&lt;br /&gt;
&lt;br /&gt;
# -------------------------&lt;br /&gt;
# Monte Carlo para cada longitud&lt;br /&gt;
# -------------------------&lt;br /&gt;
lengths = ells&lt;br /&gt;
p_hats = []&lt;br /&gt;
&lt;br /&gt;
for ell, length in zip(ells, lengths):&lt;br /&gt;
    a, b = -ell, ell&lt;br /&gt;
&lt;br /&gt;
    Jell = int(np.clip(np.ceil(points_per_unit * length), Jmin, Jmax))&lt;br /&gt;
    xgrid = np.linspace(a, b, Jell)&lt;br /&gt;
&lt;br /&gt;
    success = 0&lt;br /&gt;
    for _ in range(M):&lt;br /&gt;
        A0, A, B = sample_coeffs()&lt;br /&gt;
        f = eval_f_on_grid(xgrid, A0, A, B)&lt;br /&gt;
        if np.all(f &amp;gt;= 0):&lt;br /&gt;
            success += 1&lt;br /&gt;
&lt;br /&gt;
    p_hat = success / M&lt;br /&gt;
    p_hats.append(p_hat)&lt;br /&gt;
    print(f&amp;quot;longitud={length:.4g} (ℓ={ell:.4g}) | J={Jell:3d} | p_hat={p_hat:.4f} | {success}/{M}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
p_hats = np.array(p_hats, dtype=float)&lt;br /&gt;
&lt;br /&gt;
# -------------------------&lt;br /&gt;
# Plot: Probabilidad vs Longitud&lt;br /&gt;
# -------------------------&lt;br /&gt;
plt.figure(figsize=(8, 5))&lt;br /&gt;
plt.plot(lengths, p_hats, marker=&amp;quot;o&amp;quot;, linewidth=1.8)&lt;br /&gt;
&lt;br /&gt;
plt.title(&amp;quot;Probabilidad estimada vs L&amp;quot;)&lt;br /&gt;
plt.xlabel(&amp;quot;L&amp;quot;)&lt;br /&gt;
plt.ylabel(r&amp;quot;$\mathbb{P}(f_\sigma(x) ≥ 0, \forall x, \in [-L,L])$&amp;quot;)&lt;br /&gt;
plt.grid(True, alpha=0.3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
plt.tight_layout()&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CODIGO 3 Y 4=&lt;br /&gt;
El código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104182</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104182"/>
				<updated>2026-02-18T20:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||900px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
CODIGO 1 - El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CODIGO 2 - El código para la simulación de la probabilidad mediante Monte Carlo es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
# -------------------------&lt;br /&gt;
# Parámetros del modelo&lt;br /&gt;
# -------------------------&lt;br /&gt;
L = np.pi&lt;br /&gt;
N = 30&lt;br /&gt;
seed = 0&lt;br /&gt;
&lt;br /&gt;
M = 3000&lt;br /&gt;
ells = np.array([1e-3, 2e-3, 5e-3, 1e-2, 2e-2, 5e-2, 0.1, 0.2, 0.4, 0.7, 1.0, L])&lt;br /&gt;
&lt;br /&gt;
# Malla adaptativa (densidad constante)&lt;br /&gt;
points_per_unit = 120&lt;br /&gt;
Jmin, Jmax = 11, 500&lt;br /&gt;
&lt;br /&gt;
rng = np.random.default_rng(seed)&lt;br /&gt;
&lt;br /&gt;
n = np.arange(1, N + 1)&lt;br /&gt;
&lt;br /&gt;
def sample_coeffs():&lt;br /&gt;
    A0 = rng.normal(0.0, 1.0)&lt;br /&gt;
    A = rng.normal(0.0, 1.0, size=N)&lt;br /&gt;
    B = rng.normal(0.0, 1.0, size=N)&lt;br /&gt;
    return A0, A, B&lt;br /&gt;
&lt;br /&gt;
def eval_f_on_grid(xgrid, A0, A, B):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Evalúa la serie de Fourier en los puntos xgrid&lt;br /&gt;
    &lt;br /&gt;
    Args:&lt;br /&gt;
        xgrid: array de puntos donde evaluar (J,)&lt;br /&gt;
        A0: término constante (escalar)&lt;br /&gt;
        A: coeficientes coseno (N,)&lt;br /&gt;
        B: coeficientes seno (N,)&lt;br /&gt;
    &lt;br /&gt;
    Returns:&lt;br /&gt;
        f: array (J,) con los valores de la función&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    # Crear matriz theta: (J, N) donde theta[j, n-1] = (π/L) * xgrid[j] * n&lt;br /&gt;
    theta = (np.pi / L) * np.outer(xgrid, n)&lt;br /&gt;
    &lt;br /&gt;
    # Calcular la serie de Fourier sin usar @&lt;br /&gt;
    # Para cada punto x, sumamos sobre n: A_n*cos(theta_n) + B_n*sin(theta_n)&lt;br /&gt;
    cos_terms = np.cos(theta) * A  # Multiplicación elemento a elemento, luego se suma sobre n&lt;br /&gt;
    sin_terms = np.sin(theta) * B&lt;br /&gt;
    &lt;br /&gt;
    # Sumar sobre el eje de los términos (axis=1)&lt;br /&gt;
    f = A0 + np.sum(cos_terms, axis=1) + np.sum(sin_terms, axis=1)&lt;br /&gt;
    &lt;br /&gt;
    return f&lt;br /&gt;
&lt;br /&gt;
# -------------------------&lt;br /&gt;
# Monte Carlo para cada longitud&lt;br /&gt;
# -------------------------&lt;br /&gt;
lengths = ells&lt;br /&gt;
p_hats = []&lt;br /&gt;
&lt;br /&gt;
for ell, length in zip(ells, lengths):&lt;br /&gt;
    a, b = -ell, ell&lt;br /&gt;
&lt;br /&gt;
    Jell = int(np.clip(np.ceil(points_per_unit * length), Jmin, Jmax))&lt;br /&gt;
    xgrid = np.linspace(a, b, Jell)&lt;br /&gt;
&lt;br /&gt;
    success = 0&lt;br /&gt;
    for _ in range(M):&lt;br /&gt;
        A0, A, B = sample_coeffs()&lt;br /&gt;
        f = eval_f_on_grid(xgrid, A0, A, B)&lt;br /&gt;
        if np.all(f &amp;gt;= 0):&lt;br /&gt;
            success += 1&lt;br /&gt;
&lt;br /&gt;
    p_hat = success / M&lt;br /&gt;
    p_hats.append(p_hat)&lt;br /&gt;
    print(f&amp;quot;longitud={length:.4g} (ℓ={ell:.4g}) | J={Jell:3d} | p_hat={p_hat:.4f} | {success}/{M}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
p_hats = np.array(p_hats, dtype=float)&lt;br /&gt;
&lt;br /&gt;
# -------------------------&lt;br /&gt;
# Plot: Probabilidad vs Longitud&lt;br /&gt;
# -------------------------&lt;br /&gt;
plt.figure(figsize=(8, 5))&lt;br /&gt;
plt.plot(lengths, p_hats, marker=&amp;quot;o&amp;quot;, linewidth=1.8)&lt;br /&gt;
&lt;br /&gt;
plt.title(&amp;quot;Probabilidad estimada vs L&amp;quot;)&lt;br /&gt;
plt.xlabel(&amp;quot;L&amp;quot;)&lt;br /&gt;
plt.ylabel(r&amp;quot;$\mathbb{P}(f_\sigma(x) ≥ 0, \forall x, \in [-L,L])$&amp;quot;)&lt;br /&gt;
plt.grid(True, alpha=0.3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
plt.tight_layout()&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CODIGO 3 Y 4 - El código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104181</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104181"/>
				<updated>2026-02-18T20:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||900px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mientras que el código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_EPNL.pdf&amp;diff=104180</id>
		<title>Archivo:Poster EPNL.pdf</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_EPNL.pdf&amp;diff=104180"/>
				<updated>2026-02-18T20:40:55Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104176</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104176"/>
				<updated>2026-02-18T20:36:18Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||900px]]&lt;br /&gt;
[[Archivo:examen_1_sol (1).pdf]]&lt;br /&gt;
&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mientras que el código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104175</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104175"/>
				<updated>2026-02-18T20:35:21Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||900px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mientras que el código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104174</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104174"/>
				<updated>2026-02-18T20:35:06Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||1000px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mientras que el código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104173</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104173"/>
				<updated>2026-02-18T20:34:48Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.png||800px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mientras que el código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104172</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104172"/>
				<updated>2026-02-18T20:34:01Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_EPNL.jpeg||800px]]&lt;br /&gt;
[[Archivo:Poster_EPNL.pdf]]&lt;br /&gt;
&lt;br /&gt;
El primer código para visualizar las series de fourier con coeficientes normales (0,1) es el siguiente:&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [10, 20, 50, 100];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    &lt;br /&gt;
    A = randn(1,N);&lt;br /&gt;
    B = randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for n = 1:N&lt;br /&gt;
        f = f + A(n)*cos(n*x) + B(n)*sin(n*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-30 30])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con coeficientes N(0,1)')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mientras que el código para las normales (0,&amp;lt;math&amp;gt;1/n&amp;lt;/math&amp;gt;) y (0,&amp;lt;math&amp;gt;1/n^2&amp;lt;/math&amp;gt;) es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang: &amp;quot;Matlab&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n)&lt;br /&gt;
&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n) .* randn(1,N);&lt;br /&gt;
    B = (1./n) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
%Fourier N(0,1/n^2)&lt;br /&gt;
x = linspace(-pi, pi, 4000);&lt;br /&gt;
Ns = [100, 200, 500, 1000];&lt;br /&gt;
&lt;br /&gt;
figure&lt;br /&gt;
&lt;br /&gt;
for k = 1:length(Ns)&lt;br /&gt;
    &lt;br /&gt;
    N = Ns(k);&lt;br /&gt;
    n = 1:N;&lt;br /&gt;
    &lt;br /&gt;
    % Desviación típica = 1/n&lt;br /&gt;
    A = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    B = (1./n.^2) .* randn(1,N);&lt;br /&gt;
    &lt;br /&gt;
    f = zeros(size(x));&lt;br /&gt;
    for j = 1:N&lt;br /&gt;
        f = f + A(j)*cos(j*x) + B(j)*sin(j*x);&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    subplot(2,2,k)&lt;br /&gt;
    plot(x, f, 'DisplayName', ['N = ' num2str(N)])&lt;br /&gt;
    xlim([-pi pi])&lt;br /&gt;
    ylim([-5 5])&lt;br /&gt;
    legend show&lt;br /&gt;
    grid on&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sgtitle('Serie de Fourier con A_n,B_n ~ N(0, 1/n^2)')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_EPNL.png&amp;diff=104169</id>
		<title>Archivo:Poster EPNL.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_EPNL.png&amp;diff=104169"/>
				<updated>2026-02-18T20:32:40Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104144</id>
		<title>Series de Fourier EPNL</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_EPNL&amp;diff=104144"/>
				<updated>2026-02-18T18:28:15Z</updated>
		
		<summary type="html">&lt;p&gt;Noe.rico: Página creada con «{{ TrabajoED | Series de Fourier. Grupo EPNL | EDP|2025-26 | Elsa Coutelenq  Paula León  Noé Rico  Leo Zambrano  }}  # Poster...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED | Series de Fourier. Grupo EPNL | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Elsa Coutelenq&lt;br /&gt;
&lt;br /&gt;
Paula León&lt;br /&gt;
&lt;br /&gt;
Noé Rico&lt;br /&gt;
&lt;br /&gt;
Leo Zambrano  }}&lt;br /&gt;
&lt;br /&gt;
# Poster &lt;br /&gt;
# PDF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&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;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Noe.rico</name></author>	</entry>

	</feed>