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

For loop mit strings

 

LucaK
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 26.10.16
Wohnort: Frankfurt (Main)
Version: 2015b
     Beitrag Verfasst am: 26.10.2016, 13:33     Titel: For loop mit strings
  Antworten mit Zitat      
Liebe GoMatlab-Community

Um was es geht:
Die Grundlage von meinem Code ist ein Experiment, welches in 8 Blöcke eingeteilt ist. Jeder Block hat 40 Antworten, 1 für richtig und 0 für falsch. Es gibt pro Versuchsperson 4 Durchgänge (beispiel für Versuchsperson 1:
PAL_1_1_2
PAL_1_2_2
PAL_1_1_3
PAL_1_2_3

Was bisher funktioniert:
Mit diesem Script wird mir angezeigt wie viele richtige Antworten in jedem Block enthalten sind. Dazu muss ich die Versuchspersonenbezeichnung und den Versuchsdurchgang eingeben (beispielsweise PAL_1_1_2).

Was noch nicht funktioniert:
Momentan muss ich für jeden dieser einzelnen Blöcke das Script einzelnd laufen lassen. Gibt es eine Möglichkeit wie man mit einem For-Loop alle Blöcke für eine Versuchsperson durchrechnen kann? Oder noch besser: Alle Versuchspersonen mit den jeweils 4 Blöcken zusammen?


Code:
clear all
cd('E:/Wortpaare Analyse/Excel')
message = 'Welche Datei willst du analysieren? ('PAL_X_X_X.xlsx')';
filename = input(message);
sheet = 1;
length = 320;
x1Range = 'I2:I321';
num = xlsread(filename,sheet,x1Range);

sum1 = sum(num(1:40));
sum2 = sum(num(41:80));
sum3 = sum(num(81:120));
sum4 = sum(num(121:160));
sum5 = sum(num(161:200));
sum6 = sum(num(201:240));
sum7 = sum(num(241:280));
sum8 = sum(num(281:320));

Ergebnis = [sum1 sum2 sum3 sum4 sum5 sum6 sum7 sum8];


Ich bin noch relativ neu bei Matlab und würde mich sehr über Unterstützung freuen. Meine Versuche scheiterten bisher am Input (string).

Liebe Grüße,
Luca
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

die Daten sind also in jeweils verschiedenen Excel-Dateien?

Du kannst einen Dateinamen konstruieren, z.B
Code:
['PAL_' num2str(k1) '_' num2str(k2) '_' num2str(k3)]


Dann kannst du eine Schleife über k1 - k3 laufen lassen.

Die Summenbildung geht eleganter, wenn du num mit reshape in eine Matrix umwandelst und sum darauf anwendest.

Wenn du alle Dateien in einem Verzeichnis verarbeiten willst, bietet sich spreadsheetDatastore an.

Grüße,
Harald
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.