曲線の傾きがほぼ一定かどうかを判断する方法に取り組んでいます。
もちろんx,y
ポイントも含まれます。y
これまでに行ったことは、各データ ポイントをそのデータ ポイントで割って、そのデータ ポイントx
の勾配を取得することです。この斜面をList<double>
これまでのところ、私は正しい軌道に乗っていると思います (そうでない場合は教えてください!)。一定の曲線を扱うかどうかを決める時が来たので、以下の方法になりました。
private bool IsConstantSlope(List<double> slopes)
{
var max = slopes.Max();
var min = slopes.Min();
var diff = max - min;
return (diff > 0.01) ? false : true;
}
したがって、ここで勾配の最大値と最小値をチェックし、それをカスタムしきい値と比較しますが、これはまったく良くありません。
この方法は、完全に一定の傾斜線には適していますが、ある程度の柔軟性を持たせたいと考えています。最大値と最小値の差を定数と比較することは良い方法ではないと思います。
もっとアイデアを評価します!