You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改锯齿波函数,使其取值范围从0.15到0.18而非-1到1

调整锯齿波的取值范围到0.15-0.18

原signal.sawtooth()函数的输出范围默认是**[-1, 1],要将其映射到[0.15, 0.18],可以通过线性变换**实现:

  • 先把原输出从[-1,1]归一化到[0,1]区间:(sawtooth_value + 1) / 2
  • 再将归一化后的值缩放并平移到目标区间:乘以区间长度(0.18-0.15=0.03),再加上最小值0.15

最终变换公式为:
0.15 + (signal.sawtooth(np.pi * 4 * t) + 1) * 0.015

修改后的完整代码:

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

t = np.linspace(0, 3, 500)
# 应用线性变换,将锯齿波映射到0.15-0.18范围
sawtooth_scaled = 0.15 + (signal.sawtooth(np.pi * 4 * t) + 1) * 0.015
plt.plot(t, sawtooth_scaled)
# 可选:手动设置y轴范围,确保显示完整
plt.ylim(0.14, 0.19)
plt.show()

这样生成的锯齿波就会从0.15开始上升,峰值达到0.18,完全符合需求。

内容的提问来源于stack exchange,提问作者wosker4yan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:55:32