
Modelo_Matematico
Publicado por Javier Rodriguez (3 intervenciones) el 22/09/2022 07:52:19
Hola, buenas noches, espero y se encuentren bien.
Vengo aquí para pedir un poco de su conocimiento, tengo un programa, el cual.
Me pide que haga, el uso de desarrollo en series de Fourier de una función f(x)
Como modelo matemático de una señal periódica y muestre sus respectivas gráficas.
Mi problema y duda, es, el porque la gráfica no se muestra como esta en la siguiente imagen. En la primer grafica debe estar fija como se muestra en la imagen, en la segunda debe cambiar, de acuerdo al deslizador. De igual manera adjunto el código que ya tengo.
En el deslizador que se encuentra en el mismo programa, debe funcionar de 0 a 100, y solo toma como referencia de 1 a 10.
Les pido de la manera mas amable posible, si por favor, pueden tomarse el tiempo de revisar el código, y ver que es lo que estoy haciendo mal.
De ante mano muchas gracias, tengan buena noche.

Vengo aquí para pedir un poco de su conocimiento, tengo un programa, el cual.
Me pide que haga, el uso de desarrollo en series de Fourier de una función f(x)
Como modelo matemático de una señal periódica y muestre sus respectivas gráficas.
Mi problema y duda, es, el porque la gráfica no se muestra como esta en la siguiente imagen. En la primer grafica debe estar fija como se muestra en la imagen, en la segunda debe cambiar, de acuerdo al deslizador. De igual manera adjunto el código que ya tengo.
En el deslizador que se encuentra en el mismo programa, debe funcionar de 0 a 100, y solo toma como referencia de 1 a 10.
Les pido de la manera mas amable posible, si por favor, pueden tomarse el tiempo de revisar el código, y ver que es lo que estoy haciendo mal.
De ante mano muchas gracias, tengan buena noche.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Importar librerias
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider
# Valores para x
xa = np.linspace(-np.pi, np.pi, 100)
xb = np.linspace(-np.pi3, np.pi3, 100)
# Valores iniciales para n
init_n = 10
# Generar los valores de la funcion por partes
def funcionPorPartes(x):
# Lista de valores para y
global y
y = []
# Para los valores en x
for k in x:
# Intervalos de la funcion
if k > -np.pi and k < 0:
y.append(0)
elif k >= 0 and k < np.pi:
y.append(np.sin(k))
else:
# Cerrar la figura
y.append(0)
# Devolver el vector de valores
return y
# Generar la funcion de fourier
def funcionFourier(x, n):
# Lista de valores para y
y = []
# Coeficiente a0
a0 = (1/np.pi)
# Para cada valor en x
for t in x:
# Sumatoria
suma = 0
b1= (1/2) * np.sin(t)
# Para cada valor de n
for k in range(2, n+1):
suma = suma + (1/np.pi)(((-1)k+1 )/( 1 - k2)) np.cos(k*t)
# Almacenar valor para y
y.append(suma+a0+b1)
# Devolver los valores de y
return y
# Dividir la ventana grafica en sub-graficas (subplot)
# Referencias para cada grafica
fig, ax = plt.subplots(2)
# Funcion original de f(x)
ax[0].plot(xa, funcionPorPartes(xa), color='blue')
# Mostrar titulo
ax[0].set_title("Funcion f(x)")
# Referencia de la segunda grafica, serie de fourier
line, = ax[1].plot(xb, funcionFourier(xb, init_n), color='green')
[21:18]
# Mostrar titulo
ax[1].set_title("Serie de Fourier de f(x)")
ax[1].set_ylim(ymin=-1,ymax=3)
# Ajustar la grafica principal haciendo espacio para el slider
plt.subplots_adjust(left=0.1, right=0.9, top = 0.9, bottom=0.2, wspace=0.4, hspace=0.4)
# Color del slider
axcolor = 'lightgoldenrodyellow'
# Crear un slider horizontal para controlar n
axn = plt.axes([0.25, 0.05, 0.65, 0.03], facecolor=axcolor)
parciales_slider = Slider(
ax=axn,
label='Sumas parciales',
valmin=1,
valstep=1,
valmax=100,
valinit=init_n,
)
# Funcion a ser llamada cuando los valores del slider cambien
def update(val):
line.set_ydata(funcionFourier(xb, parciales_slider.val))
fig.canvas.draw_idle()
# Registrar la funcion update del slider
parciales_slider.on_changed(update)
# Mostrar la funcion
plt.show()

Valora esta pregunta


0