<?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=Andrew+Fan</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=Andrew+Fan"/>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/wiki/Especial:Contribuciones/Andrew_Fan"/>
		<updated>2026-04-23T19:33:31Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104225</id>
		<title>Series de Fourier ABE</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104225"/>
				<updated>2026-02-18T21:22:46Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED &lt;br /&gt;
| Series de Fourier. Grupo 6-A | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Andrew Fan&lt;br /&gt;
Bruno Aragón&lt;br /&gt;
&lt;br /&gt;
Ernestine Huge}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Poster_ABE.png||900px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# Plotear base trigonometrica (-pi,pi)&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
N = 4 # n hasta el que representar, el numero de terminos es 2N+1&lt;br /&gt;
&lt;br /&gt;
x = np.linspace(-np.pi, np.pi, 1000)&lt;br /&gt;
&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
&lt;br /&gt;
plt.plot(x, np.ones_like(x) / np.sqrt(2 * np.pi), label=r&amp;quot;$\frac{1}{\sqrt{2\pi}}$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for n in range(1, N + 1):&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.cos(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\cos({n}x)$&amp;quot;)&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.sin(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\sin({n}x)$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
plt.ylabel('Valor')&lt;br /&gt;
plt.title(f&amp;quot;Representacion de los ${2*N+1}$ primeros términos de la base trigonométrica&amp;quot;)&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.legend(bbox_to_anchor=(1.05, 1), loc=&amp;quot;upper left&amp;quot;)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def CoeficienteFourierPI2(f,N):&lt;br /&gt;
    c0 = 1/(2*np.pi)**(1/2) * quad(lambda t: f(t),-np.pi,np.pi)[0]&lt;br /&gt;
    c = np.zeros(N+1)&lt;br /&gt;
    d = np.zeros(N+1)&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        c[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.cos(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
        d[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.sin(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
    &lt;br /&gt;
    return c0,c,d&lt;br /&gt;
&lt;br /&gt;
def SerieFourierPI2(x,c0,c,d):&lt;br /&gt;
    N = len(d)-1&lt;br /&gt;
    S =  1/(2*np.pi)**(1/2)*c0&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        S +=  c[n]*1/(np.pi)**(1/2)*np.cos(n*x)+d[n]*1/(np.pi)**(1/2)*np.sin(n*x)&lt;br /&gt;
    return S&lt;br /&gt;
&lt;br /&gt;
#f es la función a aproximar, Nin es el mínimo n a usar, Nmax es el maximo n a usar, Nav es la &lt;br /&gt;
#cantidad que le suma al n mínimo en cada aproximación&lt;br /&gt;
&lt;br /&gt;
def PLOTEARE2(f,Nin,Nav,Nmax,M):&lt;br /&gt;
    n = Nin&lt;br /&gt;
    Lista = []&lt;br /&gt;
    Lind = []&lt;br /&gt;
    while n&amp;lt;Nmax:&lt;br /&gt;
        Lind += [n]&lt;br /&gt;
        c0,c,d=CoeficienteFourierPI2(f,n)&lt;br /&gt;
        Lista += [[c0,c,d]]&lt;br /&gt;
        n+=Nav&lt;br /&gt;
    &lt;br /&gt;
    x = np.linspace(-np.pi,np.pi,M)&lt;br /&gt;
    fx=f(x)&lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(x, fx, label=&amp;quot;f(x)&amp;quot;, linewidth=2)&lt;br /&gt;
    for i in range(len(Lista)):&lt;br /&gt;
        plt.plot(x, SerieFourierPI2(x,Lista[i][0],Lista[i][1],Lista[i][2]), label= f&amp;quot;Serie de Fourier $S_{{{Lind[i]}}}(x)$&amp;quot;, linewidth=&amp;quot;1&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
    plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
    plt.ylabel(&amp;quot;y&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Aproximación de Fourier en $(-\pi,\pi)$&amp;quot;)&lt;br /&gt;
    plt.legend()&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
&lt;br /&gt;
PLOTEARE2(j,5,10,40,1000)&lt;br /&gt;
PLOTEARE2(g,5,5,25,1000)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def ERROR(f,N):&lt;br /&gt;
    c0,c,d=CoeficienteFourierPI2(f,N)&lt;br /&gt;
    error = (quad(lambda t: (f(t)-SerieFourierPI2(t,c0,c,d))**(2),-np.pi,np.pi)[0])**(1/2)&lt;br /&gt;
    return error&lt;br /&gt;
def PlotearERROR(f,ninicial,nvar,Nmax):&lt;br /&gt;
    N=Nmax&lt;br /&gt;
    n=ninicial&lt;br /&gt;
    s=nvar&lt;br /&gt;
    Error=[]&lt;br /&gt;
    Ind = []&lt;br /&gt;
    while n&amp;lt;N:&lt;br /&gt;
        Error += [ERROR(f,n)]&lt;br /&gt;
        Ind += [n]&lt;br /&gt;
        n+=s&lt;br /&gt;
        &lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(Ind, Error, 'o-', linewidth=2)&lt;br /&gt;
    plt.xlabel(&amp;quot;N&amp;quot;)&lt;br /&gt;
    plt.ylabel(r&amp;quot;$\|f - S_N\|_{L^2}$&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Error en norma $L^2$&amp;quot;)&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
    &lt;br /&gt;
PlotearERROR(j,5,5,55)&lt;br /&gt;
PlotearERROR(g,2,2,50)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_ABE.png&amp;diff=104224</id>
		<title>Archivo:Poster ABE.png</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Poster_ABE.png&amp;diff=104224"/>
				<updated>2026-02-18T21:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104223</id>
		<title>Series de Fourier ABE</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104223"/>
				<updated>2026-02-18T21:17:30Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED &lt;br /&gt;
| Series de Fourier. Grupo 6-A | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Andrew Fan&lt;br /&gt;
Bruno Aragón&lt;br /&gt;
&lt;br /&gt;
Ernestine Huge}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:seriesdefourier.pdf||900px]]&lt;br /&gt;
[[Archivo:seriesdefourier.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# Plotear base trigonometrica (-pi,pi)&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
N = 4 # n hasta el que representar, el numero de terminos es 2N+1&lt;br /&gt;
&lt;br /&gt;
x = np.linspace(-np.pi, np.pi, 1000)&lt;br /&gt;
&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
&lt;br /&gt;
plt.plot(x, np.ones_like(x) / np.sqrt(2 * np.pi), label=r&amp;quot;$\frac{1}{\sqrt{2\pi}}$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for n in range(1, N + 1):&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.cos(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\cos({n}x)$&amp;quot;)&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.sin(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\sin({n}x)$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
plt.ylabel('Valor')&lt;br /&gt;
plt.title(f&amp;quot;Representacion de los ${2*N+1}$ primeros términos de la base trigonométrica&amp;quot;)&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.legend(bbox_to_anchor=(1.05, 1), loc=&amp;quot;upper left&amp;quot;)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def CoeficienteFourierPI2(f,N):&lt;br /&gt;
    c0 = 1/(2*np.pi)**(1/2) * quad(lambda t: f(t),-np.pi,np.pi)[0]&lt;br /&gt;
    c = np.zeros(N+1)&lt;br /&gt;
    d = np.zeros(N+1)&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        c[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.cos(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
        d[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.sin(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
    &lt;br /&gt;
    return c0,c,d&lt;br /&gt;
&lt;br /&gt;
def SerieFourierPI2(x,c0,c,d):&lt;br /&gt;
    N = len(d)-1&lt;br /&gt;
    S =  1/(2*np.pi)**(1/2)*c0&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        S +=  c[n]*1/(np.pi)**(1/2)*np.cos(n*x)+d[n]*1/(np.pi)**(1/2)*np.sin(n*x)&lt;br /&gt;
    return S&lt;br /&gt;
&lt;br /&gt;
#f es la función a aproximar, Nin es el mínimo n a usar, Nmax es el maximo n a usar, Nav es la &lt;br /&gt;
#cantidad que le suma al n mínimo en cada aproximación&lt;br /&gt;
&lt;br /&gt;
def PLOTEARE2(f,Nin,Nav,Nmax,M):&lt;br /&gt;
    n = Nin&lt;br /&gt;
    Lista = []&lt;br /&gt;
    Lind = []&lt;br /&gt;
    while n&amp;lt;Nmax:&lt;br /&gt;
        Lind += [n]&lt;br /&gt;
        c0,c,d=CoeficienteFourierPI2(f,n)&lt;br /&gt;
        Lista += [[c0,c,d]]&lt;br /&gt;
        n+=Nav&lt;br /&gt;
    &lt;br /&gt;
    x = np.linspace(-np.pi,np.pi,M)&lt;br /&gt;
    fx=f(x)&lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(x, fx, label=&amp;quot;f(x)&amp;quot;, linewidth=2)&lt;br /&gt;
    for i in range(len(Lista)):&lt;br /&gt;
        plt.plot(x, SerieFourierPI2(x,Lista[i][0],Lista[i][1],Lista[i][2]), label= f&amp;quot;Serie de Fourier $S_{{{Lind[i]}}}(x)$&amp;quot;, linewidth=&amp;quot;1&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
    plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
    plt.ylabel(&amp;quot;y&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Aproximación de Fourier en $(-\pi,\pi)$&amp;quot;)&lt;br /&gt;
    plt.legend()&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
&lt;br /&gt;
PLOTEARE2(j,5,10,40,1000)&lt;br /&gt;
PLOTEARE2(g,5,5,25,1000)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def ERROR(f,N):&lt;br /&gt;
    c0,c,d=CoeficienteFourierPI2(f,N)&lt;br /&gt;
    error = (quad(lambda t: (f(t)-SerieFourierPI2(t,c0,c,d))**(2),-np.pi,np.pi)[0])**(1/2)&lt;br /&gt;
    return error&lt;br /&gt;
def PlotearERROR(f,ninicial,nvar,Nmax):&lt;br /&gt;
    N=Nmax&lt;br /&gt;
    n=ninicial&lt;br /&gt;
    s=nvar&lt;br /&gt;
    Error=[]&lt;br /&gt;
    Ind = []&lt;br /&gt;
    while n&amp;lt;N:&lt;br /&gt;
        Error += [ERROR(f,n)]&lt;br /&gt;
        Ind += [n]&lt;br /&gt;
        n+=s&lt;br /&gt;
        &lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(Ind, Error, 'o-', linewidth=2)&lt;br /&gt;
    plt.xlabel(&amp;quot;N&amp;quot;)&lt;br /&gt;
    plt.ylabel(r&amp;quot;$\|f - S_N\|_{L^2}$&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Error en norma $L^2$&amp;quot;)&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
    &lt;br /&gt;
PlotearERROR(j,5,5,55)&lt;br /&gt;
PlotearERROR(g,2,2,50)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:EDP]]&lt;br /&gt;
[[Categoría:EDP25/26]]&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104219</id>
		<title>Series de Fourier ABE</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104219"/>
				<updated>2026-02-18T21:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED &lt;br /&gt;
| Series de Fourier. Grupo 6-A | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Andrew Fan&lt;br /&gt;
Bruno Aragón&lt;br /&gt;
&lt;br /&gt;
Ernestine Huge}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:seriesdefourier.pdf||900px]]&lt;br /&gt;
[[Archivo:seriesdefourier.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# Plotear base trigonometrica (-pi,pi)&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
N = 4 # n hasta el que representar, el numero de terminos es 2N+1&lt;br /&gt;
&lt;br /&gt;
x = np.linspace(-np.pi, np.pi, 1000)&lt;br /&gt;
&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
&lt;br /&gt;
plt.plot(x, np.ones_like(x) / np.sqrt(2 * np.pi), label=r&amp;quot;$\frac{1}{\sqrt{2\pi}}$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for n in range(1, N + 1):&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.cos(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\cos({n}x)$&amp;quot;)&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.sin(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\sin({n}x)$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
plt.ylabel('Valor')&lt;br /&gt;
plt.title(f&amp;quot;Representacion de los ${2*N+1}$ primeros términos de la base trigonométrica&amp;quot;)&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.legend(bbox_to_anchor=(1.05, 1), loc=&amp;quot;upper left&amp;quot;)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def CoeficienteFourierPI2(f,N):&lt;br /&gt;
    c0 = 1/(2*np.pi)**(1/2) * quad(lambda t: f(t),-np.pi,np.pi)[0]&lt;br /&gt;
    c = np.zeros(N+1)&lt;br /&gt;
    d = np.zeros(N+1)&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        c[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.cos(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
        d[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.sin(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
    &lt;br /&gt;
    return c0,c,d&lt;br /&gt;
&lt;br /&gt;
def SerieFourierPI2(x,c0,c,d):&lt;br /&gt;
    N = len(d)-1&lt;br /&gt;
    S =  1/(2*np.pi)**(1/2)*c0&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        S +=  c[n]*1/(np.pi)**(1/2)*np.cos(n*x)+d[n]*1/(np.pi)**(1/2)*np.sin(n*x)&lt;br /&gt;
    return S&lt;br /&gt;
&lt;br /&gt;
#f es la función a aproximar, Nin es el mínimo n a usar, Nmax es el maximo n a usar, Nav es la &lt;br /&gt;
#cantidad que le suma al n mínimo en cada aproximación&lt;br /&gt;
&lt;br /&gt;
def PLOTEARE2(f,Nin,Nav,Nmax,M):&lt;br /&gt;
    n = Nin&lt;br /&gt;
    Lista = []&lt;br /&gt;
    Lind = []&lt;br /&gt;
    while n&amp;lt;Nmax:&lt;br /&gt;
        Lind += [n]&lt;br /&gt;
        c0,c,d=CoeficienteFourierPI2(f,n)&lt;br /&gt;
        Lista += [[c0,c,d]]&lt;br /&gt;
        n+=Nav&lt;br /&gt;
    &lt;br /&gt;
    x = np.linspace(-np.pi,np.pi,M)&lt;br /&gt;
    fx=f(x)&lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(x, fx, label=&amp;quot;f(x)&amp;quot;, linewidth=2)&lt;br /&gt;
    for i in range(len(Lista)):&lt;br /&gt;
        plt.plot(x, SerieFourierPI2(x,Lista[i][0],Lista[i][1],Lista[i][2]), label= f&amp;quot;Serie de Fourier $S_{{{Lind[i]}}}(x)$&amp;quot;, linewidth=&amp;quot;1&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
    plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
    plt.ylabel(&amp;quot;y&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Aproximación de Fourier en $(-\pi,\pi)$&amp;quot;)&lt;br /&gt;
    plt.legend()&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
&lt;br /&gt;
PLOTEARE2(j,5,10,40,1000)&lt;br /&gt;
PLOTEARE2(g,5,5,25,1000)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def ERROR(f,N):&lt;br /&gt;
    c0,c,d=CoeficienteFourierPI2(f,N)&lt;br /&gt;
    error = (quad(lambda t: (f(t)-SerieFourierPI2(t,c0,c,d))**(2),-np.pi,np.pi)[0])**(1/2)&lt;br /&gt;
    return error&lt;br /&gt;
def PlotearERROR(f,ninicial,nvar,Nmax):&lt;br /&gt;
    N=Nmax&lt;br /&gt;
    n=ninicial&lt;br /&gt;
    s=nvar&lt;br /&gt;
    Error=[]&lt;br /&gt;
    Ind = []&lt;br /&gt;
    while n&amp;lt;N:&lt;br /&gt;
        Error += [ERROR(f,n)]&lt;br /&gt;
        Ind += [n]&lt;br /&gt;
        n+=s&lt;br /&gt;
        &lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(Ind, Error, 'o-', linewidth=2)&lt;br /&gt;
    plt.xlabel(&amp;quot;N&amp;quot;)&lt;br /&gt;
    plt.ylabel(r&amp;quot;$\|f - S_N\|_{L^2}$&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Error en norma $L^2$&amp;quot;)&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
    &lt;br /&gt;
PlotearERROR(j,5,5,55)&lt;br /&gt;
PlotearERROR(g,2,2,50)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104207</id>
		<title>Series de Fourier ABE</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104207"/>
				<updated>2026-02-18T21:06:11Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED &lt;br /&gt;
| Series de Fourier. Grupo 6-A | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Andrew Fan&lt;br /&gt;
Bruno Aragón&lt;br /&gt;
&lt;br /&gt;
Ernestine Huge}}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Seriesdefourier|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# Plotear base trigonometrica (-pi,pi)&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
N = 4 # n hasta el que representar, el numero de terminos es 2N+1&lt;br /&gt;
&lt;br /&gt;
x = np.linspace(-np.pi, np.pi, 1000)&lt;br /&gt;
&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
&lt;br /&gt;
plt.plot(x, np.ones_like(x) / np.sqrt(2 * np.pi), label=r&amp;quot;$\frac{1}{\sqrt{2\pi}}$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for n in range(1, N + 1):&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.cos(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\cos({n}x)$&amp;quot;)&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.sin(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\sin({n}x)$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
plt.ylabel('Valor')&lt;br /&gt;
plt.title(f&amp;quot;Representacion de los ${2*N+1}$ primeros términos de la base trigonométrica&amp;quot;)&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.legend(bbox_to_anchor=(1.05, 1), loc=&amp;quot;upper left&amp;quot;)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def CoeficienteFourierPI2(f,N):&lt;br /&gt;
    c0 = 1/(2*np.pi)**(1/2) * quad(lambda t: f(t),-np.pi,np.pi)[0]&lt;br /&gt;
    c = np.zeros(N+1)&lt;br /&gt;
    d = np.zeros(N+1)&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        c[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.cos(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
        d[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.sin(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
    &lt;br /&gt;
    return c0,c,d&lt;br /&gt;
&lt;br /&gt;
def SerieFourierPI2(x,c0,c,d):&lt;br /&gt;
    N = len(d)-1&lt;br /&gt;
    S =  1/(2*np.pi)**(1/2)*c0&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        S +=  c[n]*1/(np.pi)**(1/2)*np.cos(n*x)+d[n]*1/(np.pi)**(1/2)*np.sin(n*x)&lt;br /&gt;
    return S&lt;br /&gt;
&lt;br /&gt;
#f es la función a aproximar, Nin es el mínimo n a usar, Nmax es el maximo n a usar, Nav es la &lt;br /&gt;
#cantidad que le suma al n mínimo en cada aproximación&lt;br /&gt;
&lt;br /&gt;
def PLOTEARE2(f,Nin,Nav,Nmax,M):&lt;br /&gt;
    n = Nin&lt;br /&gt;
    Lista = []&lt;br /&gt;
    Lind = []&lt;br /&gt;
    while n&amp;lt;Nmax:&lt;br /&gt;
        Lind += [n]&lt;br /&gt;
        c0,c,d=CoeficienteFourierPI2(f,n)&lt;br /&gt;
        Lista += [[c0,c,d]]&lt;br /&gt;
        n+=Nav&lt;br /&gt;
    &lt;br /&gt;
    x = np.linspace(-np.pi,np.pi,M)&lt;br /&gt;
    fx=f(x)&lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(x, fx, label=&amp;quot;f(x)&amp;quot;, linewidth=2)&lt;br /&gt;
    for i in range(len(Lista)):&lt;br /&gt;
        plt.plot(x, SerieFourierPI2(x,Lista[i][0],Lista[i][1],Lista[i][2]), label= f&amp;quot;Serie de Fourier $S_{{{Lind[i]}}}(x)$&amp;quot;, linewidth=&amp;quot;1&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
    plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
    plt.ylabel(&amp;quot;y&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Aproximación de Fourier en $(-\pi,\pi)$&amp;quot;)&lt;br /&gt;
    plt.legend()&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
&lt;br /&gt;
PLOTEARE2(j,5,10,40,1000)&lt;br /&gt;
PLOTEARE2(g,5,5,25,1000)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def ERROR(f,N):&lt;br /&gt;
    c0,c,d=CoeficienteFourierPI2(f,N)&lt;br /&gt;
    error = (quad(lambda t: (f(t)-SerieFourierPI2(t,c0,c,d))**(2),-np.pi,np.pi)[0])**(1/2)&lt;br /&gt;
    return error&lt;br /&gt;
def PlotearERROR(f,ninicial,nvar,Nmax):&lt;br /&gt;
    N=Nmax&lt;br /&gt;
    n=ninicial&lt;br /&gt;
    s=nvar&lt;br /&gt;
    Error=[]&lt;br /&gt;
    Ind = []&lt;br /&gt;
    while n&amp;lt;N:&lt;br /&gt;
        Error += [ERROR(f,n)]&lt;br /&gt;
        Ind += [n]&lt;br /&gt;
        n+=s&lt;br /&gt;
        &lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(Ind, Error, 'o-', linewidth=2)&lt;br /&gt;
    plt.xlabel(&amp;quot;N&amp;quot;)&lt;br /&gt;
    plt.ylabel(r&amp;quot;$\|f - S_N\|_{L^2}$&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Error en norma $L^2$&amp;quot;)&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
    &lt;br /&gt;
PlotearERROR(j,5,5,55)&lt;br /&gt;
PlotearERROR(g,2,2,50)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Archivo:Seriesdefourier.pdf&amp;diff=104198</id>
		<title>Archivo:Seriesdefourier.pdf</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Archivo:Seriesdefourier.pdf&amp;diff=104198"/>
				<updated>2026-02-18T21:01:28Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	<entry>
		<id>https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104195</id>
		<title>Series de Fourier ABE</title>
		<link rel="alternate" type="text/html" href="https://mat.caminos.upm.es/w/index.php?title=Series_de_Fourier_ABE&amp;diff=104195"/>
				<updated>2026-02-18T20:59:45Z</updated>
		
		<summary type="html">&lt;p&gt;Andrew Fan: Página creada con «{{ TrabajoED  | Series de Fourier. Grupo 6-A | EDP|2025-26 | Nuestros nombres }}  Archivo:PósterFourier|800px|miniaturadeima...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ TrabajoED &lt;br /&gt;
| Series de Fourier. Grupo 6-A | [[:Categoría:EDP|EDP]]|[[:Categoría:EDP25/26|2025-26]] | Nuestros nombres }}&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PósterFourier|800px|miniaturadeimagen|PósterFourier]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# Plotear base trigonometrica (-pi,pi)&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
N = 4 # n hasta el que representar, el numero de terminos es 2N+1&lt;br /&gt;
&lt;br /&gt;
x = np.linspace(-np.pi, np.pi, 1000)&lt;br /&gt;
&lt;br /&gt;
plt.figure(figsize=(10, 6))&lt;br /&gt;
&lt;br /&gt;
plt.plot(x, np.ones_like(x) / np.sqrt(2 * np.pi), label=r&amp;quot;$\frac{1}{\sqrt{2\pi}}$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for n in range(1, N + 1):&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.cos(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\cos({n}x)$&amp;quot;)&lt;br /&gt;
    plt.plot(x, (1 / np.sqrt(np.pi)) * np.sin(n * x), label=rf&amp;quot;$\frac{{1}}{{\sqrt{{\pi}}}}\sin({n}x)$&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
plt.ylabel('Valor')&lt;br /&gt;
plt.title(f&amp;quot;Representacion de los ${2*N+1}$ primeros términos de la base trigonométrica&amp;quot;)&lt;br /&gt;
plt.grid(True)&lt;br /&gt;
plt.legend(bbox_to_anchor=(1.05, 1), loc=&amp;quot;upper left&amp;quot;)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def CoeficienteFourierPI2(f,N):&lt;br /&gt;
    c0 = 1/(2*np.pi)**(1/2) * quad(lambda t: f(t),-np.pi,np.pi)[0]&lt;br /&gt;
    c = np.zeros(N+1)&lt;br /&gt;
    d = np.zeros(N+1)&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        c[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.cos(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
        d[n] = 1/(np.pi)**(1/2) * quad(lambda t: f(t)*np.sin(n*t),-np.pi,np.pi)[0]&lt;br /&gt;
    &lt;br /&gt;
    return c0,c,d&lt;br /&gt;
&lt;br /&gt;
def SerieFourierPI2(x,c0,c,d):&lt;br /&gt;
    N = len(d)-1&lt;br /&gt;
    S =  1/(2*np.pi)**(1/2)*c0&lt;br /&gt;
    for n in range(1,N+1):&lt;br /&gt;
        S +=  c[n]*1/(np.pi)**(1/2)*np.cos(n*x)+d[n]*1/(np.pi)**(1/2)*np.sin(n*x)&lt;br /&gt;
    return S&lt;br /&gt;
&lt;br /&gt;
#f es la función a aproximar, Nin es el mínimo n a usar, Nmax es el maximo n a usar, Nav es la &lt;br /&gt;
#cantidad que le suma al n mínimo en cada aproximación&lt;br /&gt;
&lt;br /&gt;
def PLOTEARE2(f,Nin,Nav,Nmax,M):&lt;br /&gt;
    n = Nin&lt;br /&gt;
    Lista = []&lt;br /&gt;
    Lind = []&lt;br /&gt;
    while n&amp;lt;Nmax:&lt;br /&gt;
        Lind += [n]&lt;br /&gt;
        c0,c,d=CoeficienteFourierPI2(f,n)&lt;br /&gt;
        Lista += [[c0,c,d]]&lt;br /&gt;
        n+=Nav&lt;br /&gt;
    &lt;br /&gt;
    x = np.linspace(-np.pi,np.pi,M)&lt;br /&gt;
    fx=f(x)&lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(x, fx, label=&amp;quot;f(x)&amp;quot;, linewidth=2)&lt;br /&gt;
    for i in range(len(Lista)):&lt;br /&gt;
        plt.plot(x, SerieFourierPI2(x,Lista[i][0],Lista[i][1],Lista[i][2]), label= f&amp;quot;Serie de Fourier $S_{{{Lind[i]}}}(x)$&amp;quot;, linewidth=&amp;quot;1&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
    plt.xlabel(&amp;quot;x&amp;quot;)&lt;br /&gt;
    plt.ylabel(&amp;quot;y&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Aproximación de Fourier en $(-\pi,\pi)$&amp;quot;)&lt;br /&gt;
    plt.legend()&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
&lt;br /&gt;
PLOTEARE2(j,5,10,40,1000)&lt;br /&gt;
PLOTEARE2(g,5,5,25,1000)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;
from scipy.integrate import quad&lt;br /&gt;
&lt;br /&gt;
def ERROR(f,N):&lt;br /&gt;
    c0,c,d=CoeficienteFourierPI2(f,N)&lt;br /&gt;
    error = (quad(lambda t: (f(t)-SerieFourierPI2(t,c0,c,d))**(2),-np.pi,np.pi)[0])**(1/2)&lt;br /&gt;
    return error&lt;br /&gt;
def PlotearERROR(f,ninicial,nvar,Nmax):&lt;br /&gt;
    N=Nmax&lt;br /&gt;
    n=ninicial&lt;br /&gt;
    s=nvar&lt;br /&gt;
    Error=[]&lt;br /&gt;
    Ind = []&lt;br /&gt;
    while n&amp;lt;N:&lt;br /&gt;
        Error += [ERROR(f,n)]&lt;br /&gt;
        Ind += [n]&lt;br /&gt;
        n+=s&lt;br /&gt;
        &lt;br /&gt;
    plt.figure(figsize=(8,5))&lt;br /&gt;
    plt.plot(Ind, Error, 'o-', linewidth=2)&lt;br /&gt;
    plt.xlabel(&amp;quot;N&amp;quot;)&lt;br /&gt;
    plt.ylabel(r&amp;quot;$\|f - S_N\|_{L^2}$&amp;quot;)&lt;br /&gt;
    plt.title(&amp;quot;Error en norma $L^2$&amp;quot;)&lt;br /&gt;
    plt.grid(True)&lt;br /&gt;
    plt.show()&lt;br /&gt;
&lt;br /&gt;
def j(x):&lt;br /&gt;
    return x*np.exp(-x)&lt;br /&gt;
def gesc(x):&lt;br /&gt;
    if x&amp;lt;=0:&lt;br /&gt;
        return 1&lt;br /&gt;
    else:&lt;br /&gt;
        return 0&lt;br /&gt;
g = np.vectorize(gesc)&lt;br /&gt;
    &lt;br /&gt;
PlotearERROR(j,5,5,55)&lt;br /&gt;
PlotearERROR(g,2,2,50)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrew Fan</name></author>	</entry>

	</feed>