Verfasst am: 24.05.2016, 11:37
Titel: Mittelwert für bestimmte Spalten berechnen
Hallo liebe Matlab-Cracks;)
ich steig leider noch nicht ganz durch und brauch eure Hilfe.
Und zwar will ich in meiner Matrix A, die aus 2 Spalten besteht:
- 1. Spalte Reaktionszeiten
- 2. Spalte Tastendruck von 1 bis 12 (und das mehrmals untereinander - definiert durch Anzahl der Versuche), den Mittelwert PRO Tastendruck berechnen. Heißt für "Tastendruck 1" den Mittelwert aller Reaktionszeiten bei Taste 1. Und das für jede einzelne Taste.
Zur Veranschaulichung hab ich mal einen Teil der Matrix abfotografiert.
Es gibt mehrere Möglichkeiten deine Daten auszuwerten.
Warum nutzt du nicht die Funktionen in Excel?
Es ist irgendwie wie mit Kanonen auf Spatzen schießen...
Naja, wir wollen uns ja alle in Matlab stärken:
Prinzipiell kannst du so vorgehen:
1. Excel Datei einlesen (xlsread)
2. die Input-Matrix dann einfach auswerten, z.B. via for-Schleife... in der die Intelligenz gepackt werden muss
3. Daten ausgeben, visualisieren...
Code:
input=xlsread('Exceldatei');
[z , s]=size(input);
output=zeros(12,2);
for zaehler=1:12 [zeile, spalte]=find(input(:,2)==zaehler);
[laenge, breite] = size(zeile);
output(zaehler, 2)=laenge;
for a=1:laenge
output(zaehler, 1)=output(zaehler, 1)+input(zeile(a),1);
end end
Ergebnisvektor=output(:,1)./output(:,2)
Wie gesagt, es gibt sehr viele Varianten und bestimmt gibt's noch elegantere Varianten... aber denke mal das meine Funktionieren kann...
Debuggen musst du selber...
Der Befehl
accumarray
erledigt das Problem. In der aktuellen Matlab-Version gibt es die intuitiveren Befehle
findgroups
und
splitapply
dafür.
Gruß, Jan
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
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.