Series de Fourier SAL
De MateWiki
Revisión del 01:11 19 feb 2026 de Angela Marquet (Discusión | contribuciones) (Página creada con «{{ TrabajoED | Series de Fourier. Grupo SAL | EDP|2025-26 | Sergio Maccanin Ángela Marquet Luis Zulueta }} Archivo:...»)
| Trabajo realizado por estudiantes | |
|---|---|
| Título | Series de Fourier. Grupo SAL |
| Asignatura | EDP |
| Curso | 2025-26 |
| Autores | Sergio Maccanin
Ángela Marquet Luis Zulueta |
| Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura | |
Archivo:Poster SeriesFourier.pdf
En la sección de abajo se pueden leer los códigos utilizados para generar las gráficas observadas en el póster.
import math
import matplotlib.pyplot as plt
import numpy as np
Nmax=1000 #si se quiere ver mejor el error tomar números muy grandes de Nmax y pequeños de esp.
esp=20
cmap = plt.cm.viridis
colors = cmap(np.linspace(0, 1, Nmax//esp))
lin=1000
listax=[]
x = np.linspace(-math.pi, math.pi, lin)
N=0
Fsum=0
plt.figure(figsize=(10,6), dpi=600)
ldiff=[]
ftr = np.piecewise(x,
[x < -np.pi/2, (x >= -np.pi/2) & (x < 0), (x >= 0) & (x < np.pi/2),(x >= np.pi/2) & (x < np.pi)],
[1,-1,1,-1])
lista2=[]
for i in ftr:
lista2+=[i]
for j in range(Nmax//esp):
N+=esp
for i in range(N-1):
n=i+1
bn = 2*(1+(-1)**(n)-2*math.cos(n*math.pi/2))/n
Fsum=bn*np.sin(n*x) + Fsum
Fsum=Fsum/np.pi
plt.plot(x, Fsum, color=colors[j])
lista1=[]
if N>20000:
for i in Fsum:
lista1+=[i]
diff=0
for i in range(len(lista1)):
diff+=abs(lista1[i]-lista2[i])
ldiff+=[diff]
listax+=[N]
Fsum=0
plt.plot(x,ftr,color="red")
plt.show()
plt.figure(figsize=(10,6), dpi=600)
plt.plot(listax,ldiff)
plt.xlabel("Número de elementos de la serie")
plt.ylabel('|Sn-f|')
plt.show
import math
import matplotlib.pyplot as plt
import numpy as np
Nmax=1000
esp=20
cmap = plt.cm.viridis
colors = cmap(np.linspace(0, 1, Nmax//esp))
lin=1000
listax=[]
x = np.linspace(-math.pi, math.pi, lin)
N=0
Fsum=0
plt.figure(figsize=(10,6), dpi=600)
ldiff=[]
ftr = abs(x)
lista2=[]
for i in ftr:
lista2+=[i]
for j in range(Nmax//esp):
N+=esp
for i in range(N-1):
n=i+1
bn = 2*(np.cos(np.pi*n)-1)/(n**2)
Fsum=bn*np.cos(n*x) + Fsum
Fsum=Fsum/np.pi +np.pi/2
plt.plot(x, Fsum, color=colors[j])
lista1=[]
if N>20000:
for i in Fsum:
lista1+=[i]
diff=0
for i in range(len(lista1)):
diff+=abs(lista1[i]-lista2[i])
ldiff+=[diff]
listax+=[N]
Fsum=0
plt.plot(x,ftr,color="red")
plt.show()
plt.figure(figsize=(10,6), dpi=600)
plt.plot(listax,ldiff)
plt.xlabel("Número de elementos de la serie")
plt.ylabel('|Sn-f|')
plt.show
import math
import matplotlib.pyplot as plt
import numpy as np
Nmax=5000
esp=10
cmap = plt.cm.viridis
colors = cmap(np.linspace(0, 1, Nmax//esp))
lin=1000
listax=[]
x = np.linspace(-math.pi, math.pi, lin)
N=0
Fsum=0
plt.figure(figsize=(10,6), dpi=600)
ldiff=[]
ftr = x
lista2=[]
for i in ftr:
lista2+=[i]
for j in range(Nmax//esp):
N+=esp
for i in range(N-1):
n=i+1
bn = (2*np.pi*(-1)**(n+1))/n
Fsum=bn*np.sin(n*x) + Fsum
Fsum=Fsum/np.pi
plt.plot(x, Fsum, color=colors[j])
lista1=[]
if N>80:
for i in Fsum:
lista1+=[i]
diff=0
for i in range(len(lista1)):
diff+=abs(lista1[i]-lista2[i])
ldiff+=[diff]
Fsum=0
plt.plot(x,ftr,color="red")
plt.show()
plt.figure(figsize=(10,6), dpi=600)
plt.plot(listax,ldiff)
plt.xlabel("Número de elementos de la serie")
plt.ylabel('|Sn-f|')
plt.show