怎样判断一组数据中波动较大的一组点位置

一组数据怎样判断一组数据中波动比较大的点,找出他们的位置,如图中红色标记线所示图片说明

对曲线求导,导数就是变化率。找绝对值大的地方。

public static void CallWaveFacetor(List valueList, float waveValue, out List outList)
{
outList = new List();
//复制传来的参数信息 防止操作中修改原信息
List tempLilst = new List();
tempLilst.AddRange(valueList.ToArray());
while (true)
{
double sumDbe = 0;
ValueInfo maxInfo = tempLilst[0];
ValueInfo minInfo = tempLilst[0];
foreach (var item in tempLilst)
{
sumDbe += item.OccurValue;
if (item.OccurValue > maxInfo.OccurValue)
{
maxInfo = item;
}
if (item.OccurValue < minInfo.OccurValue)
{
minInfo = item;
}
}

            double ave = sumDbe / tempLilst.Count;
            if ((maxInfo.OccurValue - minInfo.OccurValue) / ave > waveValue && minInfo.OccurValue != maxInfo.OccurValue)
            {
                outList.Add(maxInfo);
                outList.Add(minInfo);
                tempLilst.Remove(maxInfo);
                tempLilst.Remove(minInfo);
            }
            else
            {
                break;
            }

        }

    }





public class ValueInfo
{
    public DateTime OccurTime { get; set; }
    public double OccurValue { get; set; }
}