|
|
Mittelwert von Messreihen |
|
Arkrhyst |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 27.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2019, 12:42
Titel: Mittelwert von Messreihen
|
|
Ich habe für die Bachelorarbeit von meinem Tutor ein Matlabskript bekommen, welches die gespeicherten Messdaten ausliest und plottet. Nun sagt er, dass es wohl sinnvoll wäre für die Präsentation der Ergebnisse in der Arbeit, wenn man diese Plots von zufälligen Fehlern bereinigt, in dem man einfach einen Plot macht, der zu jedem Zeitpunkt aus dem Mittelwert der 6 vorangegangenen Messungen bestehen soll. Ich habe keinen Ansatz wie man da vor geht. Also man könnte die Befehle einfach kopieren und 6 mal auslesen, aber die Variablen jeweils anders benennen. nur wie gehe ich dann vor? Normalerweise würde ja ein mean Befehl mir von allen Messwerte den Mittelwert geben. aber ich bräuchte ja theoretisch von 6 Vektoren den Mittelwert von deren ersten Eintrag, dann den zweiten etc. Hat jemand Ideen oder Vorschläge?
_________________
Hi. Ich bin absoluter Matlab-Neuling. Bitte seid nicht zu streng mit mir. Ich habe echt keine Ahnung.
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 27.08.2019, 14:46
Titel:
|
|
Hört sich nach dem Befehl "movmean" an, oder?
Andreas
|
|
|
Arkrhyst |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 27.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2019, 15:41
Titel:
|
|
Also ich weiß jetzt nicht, wie movmean da helfen soll. Also ich habe es jetzt so gemacht:
[code]n=length(m1);
mAve=zero(n,1);
for i=1:n
mAve(i,1)=(m1(i,1)+m2(i,1)+m3(i,1)+m4(i,1)+m5(i,1)+m6(i,1))/6;[/code]
nun funktioniert aber mein Auseleseskript nicht und ich muss mal schauen, woran das liegen könnte, bevor ich dazu eine Frage stellen kann. Ich habe einfach eine for schleife um das Ausleseskript meines Tutors gemacht mit einer if schleife, um die Ergebnisse getrennt zu speichern. Aber beim zweiten Durchlauf produziert es mir einen Fehler :/
_________________
Hi. Ich bin absoluter Matlab-Neuling. Bitte seid nicht zu streng mit mir. Ich habe echt keine Ahnung.
|
|
|
Arkrhyst |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 27.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2019, 16:10
Titel:
|
|
So jetzt funktioniert das Auslesen wieder. Jedoch ergeben sich weitere Fragen. Für mein Skript bräuchte ich 6 Vektoren, für die ich wiederum 6 Messreihen auslesen müsste. Jedoch hätten die ausgelesenen Vektoren vom Skript er die gleichen Namen, würden sich also überschreiben. Ich dachte, dass man daher vielleicht in die For-Schleife etwas reinpackt wie if i==1, dann speicher den Vektor als m1. If i==2, dann speicher Vektor in m2 etc. So sollte ich am Ende alle Vektoren ohne überschreiben haben. Jedoch habe ich am Ende nur ein m6 und den letzten ausgelesenen Vektor m (was vom Inhalt her das gleiche ist wie m6). Eine Idee, wie ich an meine 6 Vektoren komme?
_________________
Hi. Ich bin absoluter Matlab-Neuling. Bitte seid nicht zu streng mit mir. Ich habe echt keine Ahnung.
|
|
|
ueg |
Forum-Fortgeschrittener
|
|
Beiträge: 51
|
|
|
|
Anmeldedatum: 15.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2019, 07:51
Titel:
|
|
Ich habe gerade keine Zeit ausführlich zu antworten, aber falls du es noch nicht gemacht hast, schreib deine Vektoren doch in eine Matrix.
Da kannst du dann auf deine benötigten Daten zugreifen.
Ich kenne deine Daten nicht aber wenn du deine Daten erfasst hast aber wenn das einfach 2er Vektoren sind mit x und y würde ich sowas in der Richtung machen.
Ob MATLAB die + und - Berechnungen direkt so frisst, weiß ich nicht. Ansonsten müsste man die Befechnungen eben außerhalb der Matrix-Abfragen berechnen und dann eine Variable einsetzen wo z.b. n-6 steht.
Dein Ergebnis kannst du dann auch in eine Matrix schreiben und für jeden Vektor eine neue Spalte benutzen.
Dann kannst du die Vektoren am Ende auslesen:
Falls ich dein Problem falsch verstanden habe und das nicht hilft, tuts mir leid.
|
|
|
sijuherm |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2019, 08:21
Titel:
|
|
Also das erscheint mir doch alles sehr kompliziert, Andreas Goser hat bereits eine vorhandene Matlabfunktion genannt, die genau das macht, was dein Tutor vorgeschlagen hat.
Falls das nicht das ist, was du willst, wäre es gut, wenn du uns mitteilst, warum das nicht der Fall ist und was du genau brauchst.
Anmerkung: Der Code mittelt nicht die vorangegangenen 6 Messwerte, sonder den aktuellen Messwert und die 5 vorangegangenen. Das sollte aber keine entscheidende Rolle spielen.
|
|
|
ueg |
Forum-Fortgeschrittener
|
|
Beiträge: 51
|
|
|
|
Anmeldedatum: 15.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2019, 08:36
Titel:
|
|
Vielleicht wäre ein beispielhafter Datensatz nicht verkehrt.. das macht’s anschaulicher für uns
|
|
|
Arkrhyst |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 27.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2019, 09:46
Titel:
|
|
@ueg
das klingt sehr interessant. Freunde von mir haben mich schon gefragt, warum ich keine Matrix verwende. Ich habe jetzt schon eine Matrix aufgestellt und wollte eigentlich mit Vektor Matrix Multiplikation arbeiten, aber da kamen bisher nur Fehler. Ich versuchs mal mit deiner Idee.
@sijuherm
Vielleicht versteh ich Movmean falsch aber es sah in der Matlab Hilfe so aus, als der einfach nur aus dem Vektor (1 2 3) (1 1,5 2) macht. Ich will ja eher aus den Vektoren (1 2 3) und (3 2 1) den Vektor (2 2 2) bekommen.
_________________
Hi. Ich bin absoluter Matlab-Neuling. Bitte seid nicht zu streng mit mir. Ich habe echt keine Ahnung.
|
|
|
sijuherm |
Forum-Anfänger
|
|
Beiträge: 29
|
|
|
|
Anmeldedatum: 01.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2019, 09:51
Titel:
|
|
Ich verstehe nicht ganz, wo die verschiedenen Vektoren herkommen und was sie bedeuten. Wie von ueg vorgeschlagen, wäre es hilfreich, mal Beispieldaten bereit zu stellen.
|
|
|
Arkrhyst |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 27.08.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2019, 11:47
Titel:
|
|
@ueg
Laut der Matlab Hilfe wirft mean(Matrix) bereits einen Vektor aus, dessen Elemente die Mittelwerte der Spalten der Matrix sind, ich habe jetzt also einfach meine Matrix transponiert, mean(Matrix) und schließlich diesen Vektor transponiert.
_________________
Hi. Ich bin absoluter Matlab-Neuling. Bitte seid nicht zu streng mit mir. Ich habe echt keine Ahnung.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|