sunzh1212
2015-04-29 02:43
采纳率: 100%
浏览 4.5k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2015-04-29 15:17
    已采纳

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

    点赞 打赏 评论
  • 望天hous 2020-07-24 08:19

    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; }
    }
    
    点赞 打赏 评论

相关推荐 更多相似问题