Как напечатать содержимое скользящей средней по горизонтали в Java - PullRequest
1 голос
/ 09 января 2020

Я хотел бы напечатать содержимое значения скользящей средней Rssi для одного конкретного маяка в Java по горизонтали. Размер периода окна равен 10. Однако, используя этот код, он печатал результат по вертикали в logcat. Кто-нибудь знает как это сделать? Спасибо

 for (Map.Entry < String, ArrayList < Float >> Beaconss: BeaconRssWrtId.entrySet()) {
   List < Float > NewArray;
   List < Float > ArrayOfRss = Beaconss.getValue();
   if (ArrayOfRss.size() < 10) //WindowSize
   {
     NewArray = ArrayOfRss;
   } else
     NewArray = ArrayOfRss.subList(ArrayOfRss.size() - 10, ArrayOfRss.size()); //WIndowSize
   float sum1 = 0;
   float sum2 = 0;
   for (int i = 0; i < NewArray.size(); i++) {
     sum1 = sum1 + NewArray.get(i);

   }
   float avg1 = sum1 / NewArray.size(); //Moving average
   MovingAvg.put(Beaconss.getKey(), avg1); //It contains Estimated RSS using Moving Average

   Log.d("MovingAverage", String.valueOf(MovingAvg.get("1")));

1 Ответ

1 голос
/ 09 января 2020

Добавьте это выше для l oop:

String rssiLine = "";

Замените эту строку:

Log.d("MovingAverage", String.valueOf(MovingAvg.get("1")));

С:

rssiLine += (String.valueOf(MovingAvg.get("1"))+'');

Затем добавьте эту строку в конец для l oop:

Log.d("MovingAverage", rssiLine);

...