|
|
Dateien einlesen mit function |
|
Absolut_Beginner |
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.08.2017, 21:58
Titel: Dateien einlesen mit function
|
|
Hallo,
ich habe ein Problem beim Einlesen von xls. Dateien, die sich von Namne her immer leicht unterscheiden, also z.b. 1_1_1, dann 1_1_2 usw. also die drei Ziffern variieren immer unterschieldich.
Ich habe nun eine Funktion erstellt mit den drei input aurguments für die jeweiligen drei Ziffern.
Die Fehlermeldung ist immer: Error using fopen, too many input arguments...
Wo liegt der Fehler?
[function [ data ] = Beispiel( Ziffer 1, Ziffer 2, Ziffer 3 )
fid = xlsread(num2str(Ziffer 1),'_',num2str(Ziffer 2),'_',num2str(Ziffer 3),'.xls');
data = textscan(fid,'%s %s %s ');
fclose(fid);
end]
LG
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.08.2017, 08:39
Titel:
|
|
Hallo,
du musst die verschiedenen Teile zu einem Namen verketten.
Grüße,
Harald
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 09:13
Titel:
|
|
danke für deine Antwort. Leider verstehe ich nicht so ganz was du damit meinst...
die beiden _ bleiben immer gleich an der gleichen Stelle, deswegen '_', nur die drei ziffern ändern sich immer...kannst du mir auf die Sprünge helfen?
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.08.2017, 09:57
Titel:
|
|
Hallo,
du musst eckige Klammern [ ] setzen, um die Teile zu verbinden.
Grüße,
Harald
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 10:26
Titel:
|
|
Hallo,
leider kommt dann diese Fehlermeldung:
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.08.2017, 10:35
Titel:
|
|
Hallo,
das liegt aber nicht am Dateinamen, sondern dass das so generell nicht sinnvoll ist.
Um Textdateien einzulesen, sollte man die Kombination von
fopen
und
textscan
, für Excel-Dateien nur
xlsread
.
In beiden Fällen ist
readtable
eine schöne Alternative für tabellarisch aufgebaute Daten.
Grüße,
Harald
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 10:45
Titel:
|
|
Hallo,
ok, habe nun fopen und fclose und textscan gelöscht, sodass ich nur noch xlsread verwende. Trotzdem bringt er mir die Fehlermeldung, wenn ich dann die Daten einlesen möchte...
Output argument "data" (and maybe others) not assigned during call to "Beispiel".
ich bin ratlos...
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.08.2017, 10:59
Titel:
|
|
Hallo,
wie sieht denn der Code aus?
Ich kann auch nichts machen als dir die Fehlermeldung übersetzen:
Deine Funktion hat ein Rückgabeargument data, das aber nicht belegt wird.
Grüße,
Harald
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 11:04
Titel:
|
|
Hallo,
der Code ist der gleiche wie oben:
[function [ data ] = Beispiel( Ziffer 1, Ziffer 2, Ziffer 3 )
Daten = xlsread(num2str(Ziffer 1),'_',num2str(Ziffer 2),'_',num2str(Ziffer 3),'.xls');
end]
dann versuche ich in einem neuen Skript auf die Funktion zuzugreifen..
[code]for Ziffer 1 = 1:19
for Ziffer2 = 1:3
for Ziffer 3 = 1:3
data{Ziffer 1 , Ziffer 2, Ziffer 3} = Beispiel(Ziffer 1 , Ziffer 2, Ziffer 3);
end
end
end[/code]
LG
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 11:11
Titel:
|
|
ahhhh, ich hab mein Fehler habe die nicht gleich benannt, so müsste es jetzt gehen . Danke
LG
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.08.2017, 11:12
Titel:
|
|
Hallo,
du nennst die Variable einmal data und einmal Daten. Die eckigen Klammern fehlen nach wie vor.
Grüße,
Harald
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 13:53
Titel:
|
|
Hallo,
ich habe es tatsächlich hinbekommen. Viele Dank dafür
Habe nun noch eine andere Frage:
und zwar habe ich eine 3000x1 cell, die kann ich aber schlecht plotten...mit cell2mat bringt er mir eine Fehlermeldung...gibt es noch eine Möglichkeit aus dem cell ein double zu machen.?..besteht ja quasi nur aus einer Spalte aber eben cell statt double.
LG.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.08.2017, 13:55
Titel:
|
|
Hallo,
Zitat: |
und zwar habe ich eine 3000x1 cell |
und was steht in den Elementen drin?
Zitat: |
mit cell2mat bringt er mir eine Fehlermeldung |
und wie lautet diese?
Grüße,
Harald
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 14:10
Titel:
|
|
Hallo,
in den Elementen sind einfach in einer Spalte 3000 Zahlen
die Fehlermeldung lautet dann:
Error using plot
Not enough input arguments.
LG
|
|
|
Absolut_Beginner |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 46
|
|
|
|
Anmeldedatum: 27.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2017, 14:27
Titel:
|
|
also das war jetzt die plo fehlermeldung wegen den cells,
wenn ich cell2mat bei dem {3000x1 cell} nutze dann kommt:
Error using cat
Dimensions of matrices being concatenated are not consistent.
LG
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|