2017-01-26 7 views

答えて

0

受信した値をタイムスタンプとともにキューに格納し、最後の3秒間の最小、最大、および平均を計算する必要があります。

最初に、measureと呼ばれる値とタイムスタンプを保持するクラスを作成します。

次に、qqeueのメジャーを持つ別のクラスを作成します。クラス内部キューにメジャーを追加し、タイムパンの最小、最大、平均を計算する関数を実装します。最終関数は、min、max、averageを使用して、最後のメジャーが時間スパン内の平均に十分近いかどうかを判断することができます。

キューの代わりに、データテーブルを使用してから、sqlコマンドを使用してmin、max、averageのスカラー値を取得することができます。

値が一定の間隔で間に渡されている場合は、タイムパンツ部分を避けて最後のx値だけを計算することができます。たとえば、スケールが0.5秒ごとに新しい値を提供する場合は、最後の3秒間に6つの値があります。

FIFOには値が格納されます(カスタム追加機能またはキューを持つ配列を使用します)。最後の値が安定しているかどうかを知るには、最後のメジャーの最小値、最大値、平均値が何であるかを知る必要があります。これにより、最後の値が平均に近いかどうか、またはdiffとminとmaxが大きすぎるかどうかを判断できます。

IEの措置:

3 4 8 2 5 4分= 2、最大値= 8、平均= 4.3を与えます。最後のvalはavgに近いがmaxからはるかに短い。

5 4 6 4 5 5はmin = 4、max = 6、avg = 4.9を与える。最後の値はmin、max、およびavgに近い。それは良い最後の措置と思われます。

関連する問題