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:...»)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar
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



Poster SeriesSFourier.png 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