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

Excel Dateien (bestimmtes Arbeitsplatt) automatisch einlesen

 

doehr
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 03.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2016, 01:27     Titel: Excel Dateien (bestimmtes Arbeitsplatt) automatisch einlesen
  Antworten mit Zitat      
Hallo zusammen,

ich bin ein ziemlicher Neuling was Matlab betrifft, aber ich denke, es ist das einzigste Programm, welches mir wirlich das Leben erleichtern könnte. Ich habe in einem Experiment mit 145 Probanden sehr umfangreiche Messungen gemacht. Nun habe ich für jeden einzelnen Probanden zwei Excel files, die alle gleich aufgebaut sind (also Aufbau der Arbeitsblätter und Namen der Arbeitsblätter als auch die Namen der Files selbst - 001_XY, 001_XZ, 002_XY, 002_XZ usw.). In den Arbeitsblättern sind verschiedene Matrizen enthalten, z. B. in einem die Bewegung einer Fläche über die Zeit und in einem anderen das Volumen etc. Nun würde ich gerne zum Beispiel alle Matrizen der Bewegung von Matlab einlesen lassen und in einer Datei speichern, die zwei Arbeitsblätter enthält einmal den Mittelwert über alle Probanden und einmal die Standardabweichung über alle Probanden.

Leider weiss ich nicht mal so wirklich wo ich anfangen soll, daher wäre ich über jede Hilfe unsagbar dankbar. Ich habe schon einiges Probiert aber immer nur Fehlermeldungen bekommen.

Das ist der vielversprechenste Versuch, bekomme aber immer einen Fehler bei daten = cat...


Code:
pfad = 'absoluterPfad/Files';
liste = dir(fullfile(pfad,'*.xlsx'));

files = {liste.name};
sheet = 'RawData'
xlRange = 'G2:VF141'

for i=1:numel(files)
% einlesen der Dateien
     daten{i} = xlsread(fullfile(pfad,files{i}),sheet,xlRange);
end

daten      = cat(3,daten{:});

% Mittelwert und Standardabweichung als Datenmatrix
StatMean = mean(daten,3);
StatSD   = std2(daten,3);

save('StatAvg.mat', 'StatMean')
save('StatSD.mat', 'StatSD')


Da ich von Matlab noch nicht so viel verstehe, wäre es ganz super, wenn ihr mir die Vorschläge erklären könntet.

Danke schon mal im Vorraus.
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: 08.08.2016, 09:42     Titel:
  Antworten mit Zitat      
Hallo,

sieht an sich gut aus.

Welche Fehlermeldung bekommst du?

Ist sichergestellt, dass bei allen Dateien der Bereich G2:VF141 komplett gefüllt ist?
Schau dir mal den Inhalt von daten an, bevor die Fehlermeldung kommt.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 03.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2016, 13:46     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Antwort. Sorry, dass ich vergessen habe die Fehlermeldung zu posten. Nun aber, das ist die Fehlermeldung:

Warning: Range cannot be used in 'basic' mode. The entire sheet will be loaded.
> In xlsread (line 204)
Error using xlsread (line 251)
File contains unexpected record length. Try saving as Excel 98.

Der angegebene Bereich ist nicht immer komplett gefüllt mit Zahlen, es kann auch sein, dass einige Leerzellen dabei sind. Ist das ein Problem?
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: 09.08.2016, 16:55     Titel:
  Antworten mit Zitat      
Hallo,

das Problem scheint also schon beim Auftreten einer einzigen Datei aufzutreten?

Welche Excel-Version und welche MATLAB-Version verwendest du?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 03.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2016, 18:11     Titel:
  Antworten mit Zitat      
Ich verwende Excel für Mac 15.24 und Matlab R2015b. Funktionieren die nicht miteinander?

Um nachzuvollziehen was passiert habe ich nur eine xls Datei in den Ordner kopiert erstmal.
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: 09.08.2016, 19:05     Titel:
  Antworten mit Zitat      
Hallo,

ich habe sehr wenig Ahnung von Macs. Verwendest du denn ein von R2015b unterstütztes Betriebssystem?

Was ich sagen kann: ohne Excel für Windows kannst du das Range-Argument nicht verwenden, siehe Dokumentation von xlsread .

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 03.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2016, 19:44     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen lieben Dank für den Hinweis! Ich versuche es mal auf einem Windowsrechner und melde mich nochmal.
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.