调整算法?

时间:2014-07-13 17:53:44

标签: algorithm matlab

我正在尝试在Matlab中找到一个函数,或者至少是执行以下操作的算法的名称:

让我们说我正在实时分析时间序列。我最初以10和-10的阈值开始,因此当时间序列超过10或者低于-10时,它被认为是“HIT'”。让我们说它最初需要花费5分钟的时间来制作一个“HIT”,但是我想调整一下这样的阈值,平均而言,只需要1分钟就可以获得一个' HIT' HIT'要生产。我知道它看起来像是从10和-10开始,如果它需要太长时间,将其降至5和-5,然后如果它太快等则增加阈值等。

我知道这种类型的算法有一个特定的名称,并且可能有内置的功能,但这个名字是我的意思。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

我不知道你的时间序列的时间分辨率是什么,或者它是不变的,所以我会把它留给你。但是,如果你有一个恒定的时间分辨率,这里你可以在matlab中做。首先获取时间序列中值的绝对值。然后使用sort()命令以相反的顺序对这些值进行排序。然后选择其排序数组中的索引为您提供所需平均时间分辨率的值。所以例如如果您的时间序列的大小为N且时间分辨率为0.1秒,并且您希望平均每1秒发出一次警报,那么在排序后您将选择(逆序)排序位置N / 10的阈值。