簡體   English   中英

Plot 方波 Python

[英]Plot Square Wave in Python

我目前正在使用 numpy 和 pylot 在 python 中繪制方波。 如何在多個 T 周期內 plot 方波 function ?

我目前有:

from scipy import signal
import numpy as np
from scipy.fftpack import fft

#Initialize Parameters
p_0 = 2
A = np.sqrt(1/(2*p_0))
t = [-A,A]


plt.plot(t,[A,A])
plt.show()

這只是給了我一條直線。 最終游戲是取方波function的傅里葉變換

下面的代碼可以解決問題:

import math, numpy
from matplotlib import pyplot as plt

x = numpy.linspace(0, 10, 1000)
y = numpy.array([1 if math.floor(2 * t) % 2 == 0 else 0 for t in x])

plt.plot(x,y)
plt.show()
  • 如果math.floor(2 * t) % 2 == 0返回True plot 1否則 plot 0

Output: 在此處輸入圖像描述

您可以使用來自scipy.signalsquare function

from scipy import signal
import matplotlib.pyplot as plt
t = np.linspace(0, 1, 500, endpoint=False)
plt.plot(t, signal.square(2 * np.pi * 5 * t),'b')
plt.ylim(-2, 2)
plt.grid()
plt.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM