关于提取峰谷值的程序
void Rainflow::find_peaks(vector<float> * peaks) {
peaks->push_back(_points[0]);
unsigned i;
for (i = 1; i < (_points.size()-1); i++) {
double slope1 = _points[i] - _points[i - 1];
double slope2 = _points[i + 1] - _points[i];
if ((slope1 * slope2) <= 0. && fabs(slope1) > 0.) {
peaks->push_back(_points[i]);
}
}
peaks->push_back(_points.back());
}
以上是一段提取峰谷值的函数,峰谷值就是满足相邻的点不相等,每三个点中的第二个点小于旁边两个点或者大于旁边两个点。
我这段程序提取出来的点多了,有大神帮我看看吗