gpt4 book ai didi

python - 在python中创建不规则锯齿函数

转载 作者:行者123 更新时间:2023-12-01 09:01:49 25 4
gpt4 key购买 nike

我有一个有趣的练习,但我无法弄清楚。这是练习:

Start now with a time series of 1 Myr, a saw tooth with a wavelength of 0.1 Myr on average. The length of the wave varies randomly ±0.02 Myr (so between 80 and 120 kyrs), amplitude again 1.

所以我必须创建一个锯齿函数的时间序列,长度为 1000 kyr,时间步长为 1 kyr。锯齿波的波长必须是随机的,平均为 100 kyr,范围从 80 kyr 到 120 kyr。我希望时间序列从零开始并以零结束,因此在锯齿波期间不要中途停止。现在我正在使用这个:

time = np.arange(0,1000,1)
func = scipy.signal.sawtooth(2 * np.pi* 0.01 * time-np.pi)

结果如下:

Sawtooth function

我试图弄清楚如何使波长不规则,但仍然让时间序列以零结束。有人有想法吗?

提前致谢

最佳答案

你可以concatenate您使用 np.linspacerandom.randrange 创建的具有不同波长的波:

import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
import random

waveform = np.concatenate(
[signal.sawtooth(2 * np.pi * np.linspace(0, 1, random.randrange(30, 150))) for _ in range(10)]
)

plt.plot(waveform)
plt.show()

输出如下所示: enter image description here

关于python - 在python中创建不规则锯齿函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52405327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com