PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : befehl für mittelwert?



Bluesmash
27.07.2005, 20:06
gibt es eigentlich keinen befehl um den mittelwert aus mehreren variablen zu berechnen? wie z.B. max() für den maximalwert? hab schon in meinem sprachbefehl buch gesucht hab aber nichts gefunden...

mfg bluesmash

PicNick
28.07.2005, 08:08
Hab ich auch nix gefunden. es gibt MIN() und MAX(), sowas wie AVERAGE() is nicht

sebastian.heyn
28.07.2005, 09:01
beim mittelwert addierst du doch einfach die variablen zusammen und dividierst hinterher durch die anzahl, oder?

PicNick
28.07.2005, 09:27
Da hast du recht. Aber es wär doch ungeschickt, wenn er das ausprogrammiert und dann sieht, daß es das schon fertig gibt.

sebastian.heyn
28.07.2005, 10:30
mmhh stimmt. passiert mir öfters, grins

roboter
28.07.2005, 12:35
Naja, es wäre eine Schleife und eine Division.

Ich glaube in diesem Fall wäre das nicht ganz so tragisch :P

PicNick
28.07.2005, 13:45
Wenn's den Befehl gibt, wirst du ihn genau dann finden, wenn du die Funktion fertig programmiert hast, keine Minute früher.

Bluesmash
28.07.2005, 16:56
danke für die antworten! hab selber auch nichts mehr gefunden... muss es wohl doch ausschreiben...

mfg bluesmash

oe9vfj
29.07.2005, 17:12
Sofern die Anzahl der Variablen, aus welchen Du dem Mittelwert berechnen willst, eine 2 ^ x ist, also bei 2, 4, 8, 16, .... Werten kannst Du anstatt der zeitaufwändigen Division ein Shift Right machen. Ein Shift Right entspricht einer Division durch 2.


dim w1 as Word


w1 = w1 + 12
w1 = w1 + 14
w1 = w1 + 7
w1 = w1 + 9

Shift w1, Right, 2


Dim s1 as Single
s1 = s1 + 12
s1 = s1 + 14
s1 = s1 + 7
s1 = s1 + 9

Shift s1, Right, 2


Es funktioniert bei positiven Ganzahlen (Byte, Word, Integer, Long) als auch bei Single.
Bei Durchschnitt aus 2 Werten brauchst Du Shift Right 1, bei 4 Werten: Right 2, bei 8 Werten: Right 3, bei 16 Werten Right 4 u.s.w.