私の問題は、updateAccelerometerの呼び出し回数を減らす方法を見つけることです。
int count = 0;
int accelerometer = updateAccelerometer();
while (accelerometer <= 500) {
printf("Actual: %lf", accelerometer);
accelerometer = updateAccelerometer();
count++;
}
これは次のようになります。
Actual: 9
Actual: 28
Actual: 47
Actual: 65
Actual: 84
Actual: 103
Actual: 122
Actual: 141
Actual: 159
Actual: 178
Actual: 197
Actual: 216
Actual: 235
Actual: 253
Actual: 272
Actual: 291
Actual: 310
Actual: 329
Actual: 347
Actual: 366
Actual: 385
Actual: 404
Actual: 423
Actual: 442
Actual: 460
Actual: 479
Actual: 498
今、私の問題は、加速度計を毎回更新したくないということですが、たとえば、指数比例比で更新します。「線形比例比」を導入すると
私はただします:
if (count % 2 = 0) accelerometer = updateAccelerometer();
つまり、1つの値が読み取られ、1つの値が読み取られない、などなどです。updateAccelerometerを呼び出すたびに時間がかかる可能性があるため、遠くにあるときは値を減らし、近くにいるときは値を増やしたいと考えています。
したがって、アイデアは、xでマークされたものだけを返す指数関数を持つことです。他の関数を印刷しないためではなく、加速度計を更新しないためです。
Actual: 9
Actual: 28
Actual: 47
Actual: 65
Actual: 84
Actual: 103x
Actual: 122
Actual: 141
Actual: 159
Actual: 178
Actual: 197
Actual: 216
Actual: 235x
Actual: 253
Actual: 272
Actual: 291
Actual: 310
Actual: 329x
Actual: 347
Actual: 366
Actual: 385
Actual: 404x
Actual: 423
Actual: 442
Actual: 460x
Actual: 479
Actual: 498x
他の多くの状況で更新を指数関数的にスキップするというこの問題があったので、これはそれほど具体的な問題ではありません。