Mittelwertbildung < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:03 Fr 05.10.2007 | Autor: | Sahara |
Hallo,
hab ein kleines Problem.
Ich möchte über eine große Menge von Datenwerten (z.B 1000 Werte) Mittelwerte berechnen. Der erste Mittelwert soll aus den ersten 10 Werten gebildet werden, der zweite aus den nächsten 10 Werten und so weiter.
Ich weiß, dass ich dafür schon mal eine for-Schleife programmieren muss, komme aber nicht weiter. Eine äußere Schleife ist klar, irgendwie müssen ja alle Werte durchlaufen werden. Dann weiß ich aber nicht, wie ich in einer nachfolgenden for-Schleife dem Programm klarmachen soll, immer die nächsten 10 Werte zu einem Mittelwert zu berechnen.
Ich hoffe, dass der ein oder andere eine Idee hat, wie ich da rangehen könnte.
Vielen Dank schon jetzt!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:16 Fr 05.10.2007 | Autor: | Keppi |
Servus,
Lass die erste Schleife doch einfach von 1 bis zu 1/10 der Anzahl laufen, hier bsw. von 1 bis 100, mit der Laufvariable i.
Die zweite Schleife lässt du einfach von 1 bis 10 laufen, mit der Laufvariable j.
Jetzt summierst du einfach alle Werte mit dem Index 10(i-1)+j auf und Teilst durch die Anzahl, hier 10.
Damit müsstest du alle Werte haben.
|
|
|
|
|
Hallo,
ich hätte da einen radikal anderen Ansatz, der dank der fertigen Funktion mean schneller gehen sollte. Mal angenommen, deine Daten liegen in dem Vektor data, dann bekommst du deinen Mittelwertvektor per:
mit = mean(reshape(data, 10, 100));
Hier werden die Mittelwerte entlang einer Dimension berechnet. Durch das "Umbrechen" des Vektors in eine Matrix erhalten wir die dafür benötigte Form.
Gruß
Martin
|
|
|
|