Trazar una onda cuadrada usando Matplotlib, Numpy y Scipy

Requisitos previos: linspace , Mathplotlib , Scipy

Una onda cuadrada es una forma de onda periódica no sinusoidal en la que la amplitud alterna a una frecuencia constante entre los valores mínimo y máximo fijos, con la misma duración en el mínimo y el máximo. Las representaciones gráficas son siempre fáciles de entender y se adoptan y son preferibles a cualquier comunicación escrita o verbal. En este artículo, intentaremos comprender cómo podemos trazar ondas cuadradas utilizando el módulo Scipy python.

Acercarse:

  • Importar módulo requerido.
  • Cree una frecuencia de muestreo.
  • Trazar una onda cuadrada.
  • Etiqueta el gráfico.
  • Mostrar gráfico.

Paso 1: módulo de importación

Python3

from scipy import signal
import matplotlib.pyplot as plot
import numpy as np

Paso 2: la función NumPy linspace es una herramienta en Python para crear secuencias numéricas que devuelven números espaciados uniformemente en un intervalo específico.

Python3

t = np.linspace(0, 1, 1000, endpoint = True)

Paso 3: función plot.plot: este método acepta los siguientes parámetros y traza la señal de onda cuadrada.

Sintaxis:

scipy.señal.cuadrado(t)

Parámetro:

  • t: la array de tiempo de entrada.

Devolver:

Array de salida que contiene la forma de onda cuadrada.

Python3

# Plot the square wave
plot.plot(t, signal.square(2 * np.pi * 5 * t))

Paso 4: Proporcione el nombre del título, el nombre de la etiqueta del eje x, el nombre de la etiqueta del eje y. 

Python3

# Give x,y, title axis label
plot.xlabel('Time')
plot.ylabel('Amplitude')
plot.title('Square wave - Geeksforgeeks')

Paso 5: plot.axhline() : La función axhline() en el módulo pyplot de la biblioteca matplotlib se usa para agregar una línea horizontal a lo largo del eje.

Python3

# Provide x axis and black line color
plot.axhline(y=0, color='k')

A continuación se muestra la implementación completa:

Python3

from scipy import signal
import matplotlib.pyplot as plot
import numpy as np
 
t = np.linspace(0, 1, 1000, endpoint=True)
     
# Plot the square wave
plot.plot(t, signal.square(2 * np.pi * 5 * t))
 
# Give x,y,title axis label
plot.xlabel('Time')
plot.ylabel('Amplitude')
plot.title('Square wave - Geeksforgeeks')
 
plot.axhline(y = 0, color = 'k')
 
# Display
plot.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por skrg141 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *