WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Mittelwert/Standardabweichung von Matrizen

 

manuel91
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 04.04.2013, 12:53     Titel: Mittelwert/Standardabweichung von Matrizen
  Antworten mit Zitat      
Hallo Leute,
Ich habe z.b 5 Matrizen A,B,C,D,E
Alle haben 9 Spalten und 300 Zeilen.
Ich würde nun gerne einen Mittelwert der 5 Matrizen bilden.
Also (A(1,1) + B(1,1)+ .....)/5,
....
händisch kann ich den Mittelwert berechnet, aber mit mean(..) komm ich nicht drauf.

Wie komme ich dann auf die Standardabweichung?

Liebe Grüße und vielen Dank,
Manuel
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.04.2013, 12:56     Titel:
  Antworten mit Zitat      
Hallo,

Code:
allmats = cat(3, A, B, C, D, E);
mean(allmats,3)


Wenn du mehr als eine Handvoll solcher Matrizen hast, müsste man wissen, in welcher Form sie vorliegen, um dir beim ersten Schritt weiterhelfen zu können.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
manuel91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 04.04.2013, 13:03     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:


Code:
allmats = cat(3, A, B, C, D, E);
mean(allmats,3)



Wieso nimmst du bei cat(..) gerade 3?
Aber funktioniert hat´s, danke schonmal!

Hast du eventuell noch ne idee bezüglich der Standardabweichung?
Ist das nur std(mean(allmats,3)) ?

LG,
Manuel
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.04.2013, 13:08     Titel:
  Antworten mit Zitat      
Hallo,

die 3, weil ich die Matrizen hintereinanderhängen möchte (nicht unter=1 oder neben=2 - einander).

Von was willst du denn die Standardabweichung haben?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
manuel91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 04.04.2013, 13:18     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

die 3, weil ich die Matrizen hintereinanderhängen möchte (nicht unter=1 oder neben=2 - einander).

Von was willst du denn die Standardabweichung haben?

Grüße,
Harald


verstehe, funktiert einwandfrei Smile

Die Standardabweichung hätte ich gerne von den selben Zellen mit denen der Mittelwert berechnet wurde.
Meine Matrizen sind Druckmesswerte, jeder Vektor ist eine Messreihe,
somit habe ich Messwerte über die Zeit.
Nachdem ich den Mittelwert berechnet habe, würde ich auch gerne die Standardabweichung dazu haben um beides zu plotten (über die Zeit, also auch 300 Werte).
Somit würde ich für die Standardabweichung ebenfalls eine 300*9 Matrix benötigen.

Vielen Dank,
Manuel
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.04.2013, 13:27     Titel:
  Antworten mit Zitat      
Hallo,

dann eben
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
manuel91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 04.04.2013, 13:30     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

dann eben
Code:


Grüße,
Harald


Vielen Dank für deine Hilfe Harald Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
manuel91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 06.04.2013, 09:38     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

dann eben
Code:


Grüße,
Harald


Bei mir kommt leider diese Fehlermeldung:
Code:
??? Error using ==> var at 96
W must be a vector of nonnegative weights, or a scalar 0 or 1.

Error in ==> std at 32
y = sqrt(var(varargin{:}));


wenn ich das ,3 weglasse also std(allmats) komm ich leider nur auf eine 1*9*5 Matrix und nicht auf eine 300*9 :/

LG, Manuel
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.04.2013, 10:11     Titel:
  Antworten mit Zitat      
Hallo,

da hätte ich vorher nochmal in die Doc schauen sollen:

Code:
std(allmats,0,3)


Mit einem Blick in
Code:

hättest du da wohl auch selbst drauf kommen können Wink

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
manuel91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 06.04.2013, 10:23     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

da hätte ich vorher nochmal in die Doc schauen sollen:

Code:
std(allmats,0,3)


Mit einem Blick in
Code:

hättest du da wohl auch selbst drauf kommen können Wink

Grüße,
Harald


Vielen Dank nochmal Harald,
und sry für mein Fragen, bin Matlab Anfänger und kann somit auch mit der Hilfe manchmal nichts anfangen Confused

LG,
Manuel
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.04.2013, 07:41     Titel: Re: Mittelwert/Standardabweichung von Matrizen
  Antworten mit Zitat      
Hallo manuel91,

Am Anfang mag die Dokumentqation ein wenig verwirrend sein, weil sie sehr viele Informationen dicht gepackt enthält. Aber genau das ist die Stärke von Martlab's Hilfe-texten: Man findet alles, was man für die Arbeit mit einer bestimmten Version braucht (siehe unten). Zunächst wird in jedem "help BEFEHL" erklärt, was der Befehl macht, dann die gültigen Inputs erklärt, danach kommen meistens Beispiele, die sehr gut zu den häufigsten Anwendungen passen, und zum Schluss die wertvolle "See also"-Zeile: Falls der Befehl nicht ganz passt, stehen hier andere Befehle, die zum gleichen Thema gehören.
Es lohnt sich ausgesprochen, sich in diese Help-Texte und die ausführlicheren Doc-Texte einzuarbeiten.

Zitat:
Ich habe z.b 5 Matrizen A,B,C,D,E

Hier kann man bereits effizienter starten: Das mag für 5 oder 15 Matrizen effizient aussehen, für 500 Stück wäre es aber offensichtlich "Unfug". Oft ist es entweder geschickter gleich ein [M x N x 5] 3D Array zu bilden, oder die einzelnen Matrizen in ein Cell-Array zu schreiben, also A{1}, A{2} bis A{5}. Dann lautet der Code:
Code:
Array = cat(3, A{:});
m = mean(Array, 3);
s = std(Array, 0, 3);

"A{:}" ist eine "komma-separierte Liste", also gena7u das gleiche wie:
Code:
Array = cat(3, A{1}, A{1}, A{2}, A{3}, A{4}, A{5})

oder wie viele Elemente das CELL-Objekt auch immer hat. Nun ist die Erweiterung auf 500 Matrizen trivial, denn bei der Berechnung von MEAN und STD muss man gar nichts ändern! Und je weniger Änderungen notwendig sind, desto weniger Bugs baut man ausversehen in den Code ein.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
manuel91
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.03.13
Wohnort: Österreich
Version: ---
     Beitrag Verfasst am: 08.04.2013, 08:53     Titel:
  Antworten mit Zitat      
Danke für deine Anregung Jan!
Werde das mal selbst in Matlab ausprobieren Smile

LG, Manuel
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.