[英]Alternating sine wave with square-wave in Python
如何在 Python 中創建正弦波和方波的隨機交替序列? 我需要 11,000 個時間戳,所以我生成了一個數字序列:
t = np.linspace(0, 11000, endpoint = False)
正弦波和方波的隨機交替序列需要如下所示: 1
我建議采用以下方法,其中代碼連續生成值並具有一定的概率在方波和正弦波之間翻轉:
import math
from random import random
SWITCH_PROBABILITY = 0.25
sine_wave = True
def x_value(t):
return t
def y_value(t):
# Determine whether to flip the wave we're producing.
if random() < SWITCH_PROBABILITY:
sine_wave = not sine_wave # Flip the wave.
if sine_wave:
# We are generating a sine wave.
return math.sin(t)
else:
# We are generating a square wave.
return math.copysign(1, math.sin(t))
由於我不確定您是如何生成或使用它們的,因此我無法提供更多詳細信息。 您可能想要定義一些時間分辨率並逐步執行,生成許多坐標對作為(x_value(t), y_value(t))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.