找到正弦波的第一个峰值/检测变量c#

时间:2017-08-21 15:07:52

标签: c# variables sine

我试图找到正弦曲线(可能从曲线的任何一点开始)达到其第一个最大值的指数,而只是第一个。为此,我运行一个循环,将一个值与之前的值进行比较。如果一个点大于其先前的值,则趋势向上,相反的情况类似。

在c#中,如何检测变量何时从趋势向下变为趋势向下?换句话说,如何检测变量何时发生变化。在LabVIEW中,可以使用移位寄存器来完成。 c#中的等价物是什么?

1 个答案:

答案 0 :(得分:0)

public static int FirstMaxIndex(int[] values)
{
    bool up = false;
    for (int i = 1; i < values.Length; i++)
        if (values[i] < values[i - 1])
        {
            if (up) return i;
            else up = false;
        }
        else if (values[i] > values[i - 1])
        {
            up = true;
        }
    return -1;
}

我没有测试过这个。这只是为了让您了解如何解决这个问题。 (我写的尽可能接近你在评论中写的内容。)