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

如何将取值范围为-1至1的正弦函数适配到3至13的区间?

正弦波值域映射的简便实现方法

直接用线性值域映射公式就能快速完成转换,核心逻辑是把原正弦波的[-1,1]区间平移缩放,适配到目标区间[3,13]。

通用转换公式

假设原正弦值为 y = sin(x),目标区间为 [min_target, max_target],转换后的结果为:

y_mapped = (y + 1) * (max_target - min_target) / 2 + min_target

代入你的目标区间[3,13],简化后就是:

y_mapped = (sin(x) + 1) * 5 + 3

不同编程语言的实现示例

  • Python(用numpy批量处理):
import numpy as np

x = np.linspace(0, 2*np.pi, 100)  # 生成0到2π的x值
y_original = np.sin(x)
y_mapped = (y_original + 1) * 5 + 3  # 映射到3-13区间
  • MATLAB:
x = linspace(0, 2*pi, 100);
y_original = sin(x);
y_mapped = (y_original + 1) * 5 + 3;
  • JavaScript(前端场景):
function mapSinToRange(x) {
  const original = Math.sin(x);
  return (original + 1) * 5 + 3;
}

这个公式是通用的,不管你要映射到什么区间,只要替换min_target和max_target就行,完全不需要复杂的库或者额外操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:52:01