簡體   English   中英

Python 中的交變正弦波與方波

[英]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.

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