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

Mittelwerte bilden über versch. Spalten einer Matrix

 

laze
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 12.10.11
Wohnort: Stuttgart
Version: R2013a
     Beitrag Verfasst am: 28.11.2011, 13:45     Titel: Mittelwerte bilden über versch. Spalten einer Matrix
  Antworten mit Zitat      
Hallo Matlab Gemeinde,

ich beschäftige mich derzeit mit einem Problem, wo es gilt in einer Matrix Mittelwerte für jede Zahl aus bestimmten Spalten zu bilden.

Bei der Matrix handelt es sich um eine 15x4 double. Für jede der bestehenden 4 Spalten steht eine Drehzahl, wobei die Drehzahlen für Spalte 2 und 3 identisch sind.

Ich will nun, für jede Drehzahl die 15 Mittelwerte bilden. In meinem Fall würde, das ja bedeuten, dass ich nur zw. Spalte 2 und 3 einen Mittelwert bilden muss, da nur diese Drehzahl mehrfach vorkommt. Bzw. die Mittelwerte der anderen Spalten sind gleich den vorherigen.

Ich hoffe, bis hierhin könnt ihr mich folgen.

Um auf die entsprechenden Spalten in der Matrix zugreifen zu können. habe ich mir vorher ein Cell-Array generiert, wo die Häufigkeit der einzelnen Drehzahlen gespeichert wurde. In meinem Fall {1;2;1}. Dasgleiche habe ich bei der Position innerhalb der Matrix gemacht und die Spaltennummern rausgelesen. {1,[2,3],4}.


Jetzt muss ich es nur irgendwie schaffen, für die jeweiligen zusammengehörendnen Spalten den Mittelwert zu bilden.

Wie kann ich das machen??
Danke schon mal im voraus Wink

Grüße laze
_________________

--Wannabe
Private Nachricht senden Benutzer-Profile anzeigen


laze
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 69
Anmeldedatum: 12.10.11
Wohnort: Stuttgart
Version: R2013a
     Beitrag Verfasst am: 29.11.2011, 09:45     Titel:
  Antworten mit Zitat      
Ok, konnte mein Problem selbstständig lösen Smile
Hier mein Lösungsweg!!

Code:
j=1;
i=1;
while j<=length(col)%%%Bilden Des Mittelwertes
for i=1:length(Matrix_advs)
   
   
    if length(col(1,j))>1
        Matrix_advs_average(i,j)=mean(Matrix_advs(i,col{1,j}):col{1,j(end)});
        Matrix_torque_average(i,j)=mean(Matrix_torque(i,col{1,j}):col{1,j(end)});
    end
        Matrix_advs_average(i,j)=mean(Matrix_advs(i,col{1,j}));
        Matrix_torque_average(i,j)=mean(Matrix_torque(i,col{1,j}));
    if  i==max(length(Matrix_advs));
        j=j+1;
        i=1;
       
    end
end
end


Grüße laze
_________________

--Wannabe
Private Nachricht senden Benutzer-Profile anzeigen
 
Matt Lappen
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 23.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2011, 10:08     Titel:
  Antworten mit Zitat      
Also die Mittelung der beiden Spalten kannst du auch ohne Schleifen und Cell-Formate durchführen.
Code:
mittelw_23 = mean(Matrix(:,[2 3]),2)

Der zweite Parameter im mean-Befehl bestimmt die Dimension der Matrix, über welche die Mittelwerte bestimmt werden (über Zeilen/Spalten).
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 - 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.