|
|
Standardabweichung mit Hilfe einer Schleife berechnen |
|
Ines Ebner |
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2020, 11:19
Titel: Standardabweichung mit Hilfe einer Schleife berechnen
|
|
Hallo,
ich will mich gerade in Matlab einarbeiten. Insgesamt will ich die Standardabweichung berechnen dazu dachte ich muss ich zuerst einmal den Mittelwert und später dann die Varianz.
Ich habe eine Matrix mit M 146 x11 und würde gerne davon die ersten 50 Werten nutzen um den Mittelwert zu berechnen und dann eine 1x11 Variable bekommen die mir den Mittelwert angibt von den ersten 50 Werten, aber nicht mit dem Befehl Mean sondern ich würde gerne das in einer Schleife aufbauen.
Könnt ihr mir bitte Helfen?
bisher habe ich nur das hinbekommen
bin um jede Hilfe sehr sehr Dankbar
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.04.2020, 11:32
Titel:
|
|
Hallo,
Generell kann ich nur empfehlen, die vorhandenen Funktionen zu nutzen. Größere Herausforderungen kommen dann meist noch früh genug. ;)
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2020, 12:03
Titel: versuch mit der Varianz
|
|
Hallo,
jetzt versuche ich das ganze noch mit der Varianz und Stoße an meine Grenzen.
bei der Varianz subtrahiert man von jedem Datenpunkt den Mittelwert und quadriert diesen Wert. Dies will ich auch für die ersten 50 meiner Matrix.
mein Versuch der noch nicht funktioniert. Ich hab ein generelles Problem mit dem arbeiten von Matrizen, dass ich nicht weiß wie es geht das ich sagen kann das jeder Datenpunkt genommen werden soll und davon der Mittelwert abgezogen werden soll. Ich weiß das ist wahrscheinlich ein Forum zum austauschen und ich weiß mir fehlt es zur zeit an Verständnis und freu mich darüber wenn mir jemand was dazu erklärt.
also mein Versuch:
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.04.2020, 12:40
Titel:
|
|
Hallo,
soweit gut.
Zitat: |
dass ich nicht weiß wie es geht das ich sagen kann das jeder Datenpunkt genommen werden soll und davon der Mittelwert abgezogen werden soll. |
Der Teil stimmt bereits.
Es fehlt nur noch das Summieren und Dividieren, ähnlich wie du es schon bei der Berechnung der Mittelwerte gemacht hast.
Ich kann's dir natürlich hinschreiben, aber ich glaube, es bringt dir letztlich mehr, wenn du es selbst schaffst.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2020, 13:05
Titel:
|
|
ja ich will das gerne lernen aber hab echt meine Schwierigkeiten und ich hätte echt gerne Nachhilfe aber das ist zur Zeit schwierig.
bei meinem Mittelwert habe ich das problem das ich in meiner Matrix Datenpunkte habe die mit NaN gekennzeichnet sind. und in der funktion habe ich gelernt 'omitnan' zu verwenden, gibt es sowas auch für die Schleife? weil das ist glaube ich gerade ein Problem für meine Varianzschleife das funktioniert nicht so richtig.
ich hab somit dann noch nicht verfügbare werte in meinern mittelwert und varianzwert vektoren...
muss ich dann der schleife sagen, dass wenn der wert nicht verfügbar ist soll er den überspringen?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.04.2020, 13:37
Titel:
|
|
Hallo,
jetzt hast du das Dividieren drin, aber das Summieren fehlt noch.
varianz = varianz + (M(i,:)-Mittelwert).^2;
Zitat: |
in der funktion habe ich gelernt 'omitnan' zu verwenden, gibt es sowas auch für die Schleife? |
Ja, aber wird aufwändiger, weil du nicht nur die Abfrage brauchst, sondern auch die gültigen Werte mitzählen musst. Das würde ich mir nicht händisch antun.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2020, 18:04
Titel:
|
|
doch ich brauch das denke ich auch für später. Ich muss mir gerade von null auf ein skript basteln. ich versuche es jetzt mal in der schleife zu prüfen.
Der Plan ist es später den RMSSD in matlab zu berechnen und dafür brauche ich diese bausteine von Mittelwert und Standardabweichung.
ich könnte echt Hilfe gebrauchen...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.04.2020, 18:35
Titel:
|
|
Hallo,
ich halte es nicht für sinnvoll, Mittelwert oder Varianz händisch zu berechnen. Es gibt die Funktionen in MATLAB gerade, damit nicht jeder das Rad neu erfinden muss.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.04.2020, 10:42
Titel:
|
|
ok. ja das verstehe ich. Hast jemand dann eine Idee für mich wie ich dann diese Formel (im Bildanhang) umsetzten kann in Matlab? in der ich dann auch die nan werte überspringe. Weil ich habe genug Datenpunkte.
LG
Beschreibung: |
|
Download |
Dateiname: |
Bildschirmfoto 2020-04-10 um 11.37.52.png |
Dateigröße: |
10.15 KB |
Heruntergeladen: |
234 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.04.2020, 10:55
Titel:
|
|
Hallo,
ich gehe davon aus, dass RR ein Vektor ist (keine Matrix)?
Da gibt es noch eine Interpretationsfrage: soll im Falle von NaN die Differenz zwischen den nächstgelegenen Werten genommen werden oder das komplett übersprungen werden? Beispiel:
Im Fall von erg2:
Im Fall von erg1: zunächst rmmissing anwenden, dann Berechnung wie eben. 'omitnan' ist dann nicht mehr nötig.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.04.2020, 11:16
Titel:
|
|
Hallo,
ich gehe davon aus, dass RR ein Vektor ist (keine Matrix)?
--> nein es wird weiterhin eine Matrix bleiben ich habe unterschiedliche Parameter die ich mit diesem Variabilitätsmaß prüfen will um zu sehe ob das Funktioniert auch für das Anwendungsgebiet funktioniert.
Da gibt es noch eine Interpretationsfrage: soll im Falle von NaN die Differenz zwischen den nächstgelegenen Werten genommen werden oder das komplett übersprungen werden?
-->mit komplett übersprungen meinst du das die angrenzenden Werte auch weggelassen werden? und beim überspringen der wert dann von dem nächst möglichen berechnet wird. oder wie?
Danke schonmal,
Grüße Ines
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.04.2020, 11:31
Titel:
|
|
Hallo,
Zitat: |
es wird weiterhin eine Matrix bleiben |
Soll RMSSD dann spaltenweise berechnet werden? Dann würde ich eine for-Schleife über die Spalten empfehlen.
Das Beispiel sollte den Umgang mit NaN doch klar veranschaulichen. Kurz gesagt: willst du erg1 oder erg2?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.04.2020, 11:46
Titel:
|
|
Ja jetzt hab ich das verstanden. Ich denke es sind sogar beide Varianten möglich würde mich aber sicherheitshalber für Ergebnis 2 entscheiden da ich weiterhin nur über 50 Datenpunkte das berechnen will und ich genug habe.
Ja genau der RMSSD soll Spaltenweise berechnet werden.
Grüße und herzlichen Dank für deine hilfsbereitschaft
|
|
|
Ines Ebner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 09.04.20
|
|
|
|
Wohnort: Jena
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.04.2020, 12:04
Titel:
|
|
Hallo,
noch eine Frage, was passiert bei rmmissing, wenn ich die lösche kann ich dann auch die ganze Zeile löschen in der ein NaN auftaucht?
Liebe grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.04.2020, 12:31
Titel:
|
|
Hallo,
ja. Das ist bei Matrizen das Standardverhalten. Das sollte aber auch aus der Doku hervorgehen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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 - 2025
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.
|
|