- LiFePO4 Speicher Test         
Ergebnis 1 bis 7 von 7

Thema: Mittelwerte von Feldern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2011
    Beiträge
    16

    Frage Mittelwerte von Feldern

    Hallo,
    ich probiere nun schon eine Weile rum, doch ich komme einfach nicht weiter, deshalb wollte ich fragen, ob von euch jemand eine idee hat.
    Ich möchte die mit LineData die ausgelesenen Werte in Felder schreiben, also z.B. k[0]=35, k[1]=37, k[2]=32, k[3]= 31 usw. und dann von k[0] und k[1] und k[2] und k[3] den Mittelwert bilden, jedoch sind es 30 Felder weshalb ich es nicht einfach ausschreiben kann. Den Mittelwert möchte ich dann wieder in eine Variable schreiben.
    Vielen Dank für eure Hilfe!
    Lg Oliver

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    33
    Beiträge
    1.192
    Hallo,
    versuche einmal so etwas: (ungetestet, lässt sich bestimmt noch optimieren...)
    Code:
    unsigned int durchschnitt=0;
    unsigned int summe=0;
    unsigned int anzahl=30;
    for(unsigned char counter=0;counter<anzahl;counter++)
    {
     summe=summe+k[counter];
    }
    durchschnitt=summe/anzahl;
    Grüße, Bernhard

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2011
    Beiträge
    16

    Lächeln

    vielen Dank für deine Hilfe!
    Habe es gerade nach dem Muster in meim Programm eingebaut und es funktioniert!
    Aber eine Frage habe ich noch: Was bedeutet " unsigned char counter"?
    Lg Oliver

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Da wird eine Variable namens "counter" vom Typ "unsigned char" (vorzeichenlos, 1 Byte groß) definiert.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    33
    Beiträge
    1.192
    Genau so war es gemeint
    Und ich versuche immer, den kleinst möglichen Datentyp zu verwenden, und auch unsigned falls das sinnvoll ist. Auch mit Fließkommazahlen sollte man sparsam umgehen. Das spart Platz im RAM und ein 8-Bit-Controller kann es geringfügig schneller verarbeiten. Man könnte auch aus der Variable Summe und Durchschnitt eine einzige machen, würde noch etwas RAM sparen.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    22.04.2011
    Beiträge
    16
    das heißt also ich könnte alle variablen, die als zähler fungieren statt als unsigned int mit unsigned char definieren? hat dies einen großen geschwindigkeitsverlust zur folge, wenn man alle mit unsigned int definiert?

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad