簡體   English   中英

如何創建振幅上下限的正弦波

[英]How to create a sin wave with upper and lower amplitude bounds

我一生都無法解決這個看似簡單的問題。

我正在嘗試創建一個振幅上下限的正弦波(即最高點為3,最低點為0.4)

使用常規數學,我能夠在從1到-1的數組中獲得正弦波,但是我不知道如何更改這些界限。

    static int MAX_POINTS = 100;
static int CYCLES = 1;
static double[] list = new double[100];

 public static void SineCurve()
  {
    double phaseMultiplier = 2 * Math.PI * CYCLES / MAX_POINTS; 
    for (int i = 0; i < MAX_POINTS; i++)
    {
      double cycleX = i * phaseMultiplier;
      double sineResult = Math.sin(cycleX);
      list[i]= sineResult;

    }

    for(int i=0;i<list.length;i++){
        System.out.println(list[i]);
    }
  }

任何提示將非常感謝。

幅度(sin(x)值的倍數)是所需的最高值和最低值之差的一半。 就你而言

amplitude = (3 - 0.4)/2

1.3 然后零偏移是最小值加上振幅,在您的情況下為1.7

然后要繪制的方程式是

1.3 * sin(x) + 1.7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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