Hallo, ich suche eine Möglichkeit von mehr als hundert Werten einen Durchnitt zu bilden. Das aufsummieren und dann teilen geht nicht, da der Speicher nicht reicht. Hat jemand eine Idee? (((a+b)/2)+c)/2)+d)/2 geht doch nicht oder?
Hi, so könnte es gehen: int messdurchnitt=0; //durchsnitt der messwerte int messwert; // aktueller adc value for(i=0;i<100;i++){ messdurchschnitt = ( i*messdurchschnitt + messwert ) / (i+1); } Gruss peter
Hi, falls du 10 bit adc werte hasst bietet sich noch an die Formel umzuschreiben da 100 * 1024 > 65535 ist. . . . messdurchschnitt = ( i / ( i + 1 ) ) * ( messwert + ( y / i) ); . . .
sorry vertippt: so ists richtig . . . messdurchscnitt = (i/(i+1)) * (messdurchschnitt+(messwert/i)); . . . peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.