Diferencia entre revisiones de «Series de Fourier SAL»

De MateWiki
Saltar a: navegación, buscar
m (Angela Marquet trasladó la página Series de funciones SAL a Series de Fourier SAL)
Línea 7: Línea 7:
  
  
[[Archivo: Poster_SeriesSFourier.png|800px]]
+
 
 
[[Archivo: Poster_SeriesFourier SAL.pdf]]
 
[[Archivo: Poster_SeriesFourier SAL.pdf]]
  

Revisión del 14:02 21 feb 2026

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 SAL.pdf

En la sección siguiente se pueden leer los códigos utilizados para generar las gráficas observadas en el póster.

1 CÓDIGO 1

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



2 CÓDIGO 2

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


3 CÓDIGO 3

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