|
|
fopen(fullfile) funktioniert nicht auf Mac |
|
Ronja |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.06.2017, 20:32
Titel: fopen(fullfile) funktioniert nicht auf Mac
|
|
|
|
|
Hallo zusammen,
ich versuche derzeit Textfiles in mat-files auf meinem Mac zu übertragen, aber es geht nicht. Auf einem Windows-Rechner lief es.
Ich bekomme folgende Fehlermeldung:
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in LK_AppleGame_TestPathIntegrationModel_RS_130617 (line 241)
tmp_data = textscan(fileID, '%s %s %s %s %s %s %s %d %d %d %s %s %s %s %s %s %d %d', 'HeaderLines',
1);
verwende ich dann "fopen" ist der filename falsch.
>> tmp_data = fopen(fileID, '%s %s %s %s %s %s %s %d %d %d %s %s %s %s %s %s %d %d', 'HeaderLines', 1)
Error using fopen
Invalid filename.
>>
Also schaue ich da nach:
>> fileID
fileID =
-1
die Berechnung der fileID soll eigentlich über diesen Code laufen:
>> fileID = fopen(fullfile(beh_path_spec, actual_file))
Also schau ich mir einzeln die Komponenten der fileID an:
>> beh_path_spec
beh_path_spec =
/Users/ronjaschutte/Documents/MATLAB/Daten MA/AppleGameAllSubjects310517/B061
>> actual_file
actual_file =
061_21_3_2017_10_13_35
>> fullfile(beh_path_spec, actual_file)
ans =
/Users/ronjaschutte/Documents/MATLAB/Daten MA/AppleGameAllSubjects310517/B061/061_21_3_2017_10_13_35
Er kann also bis dahin alles finden, soweit kein Problem zu erkennen. Also führe ich den ganzen Befehl durch:
>> fopen(fullfile(beh_path_spec, actual_file))
ans =
-1
Also scheint hier das Problem zu liegen, er kann die fullfile augenscheinlich mit fopen nicht öffnen. Was kann ich machen, damit er das tut?
Vielen Dank schon mal für eure Hilfe
Ronja
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.06.2017, 21:54
Titel:
|
|
Hallo,
hat die Datei denn keine Endung?
Hast du mal versucht, den vollen Namen direkt in fopen reinzuschreiben?
Grüße,
Harald
|
|
|
Ronja |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.06.2017, 22:23
Titel:
|
|
Hi,
Also so (siehe angehängte Datei) ist das bei mir abgespeichert. Die Datei wurde auf einem Windows-Rechner geschrieben und gespeichert, ich hab sie nur via Stick von dem einen zum anderen Rechner geschoben.
Ja, das habe ich auch mal probiert hat aber auch nicht geklappt.
Ich hatte jetzt schon noch folgende Idee: mein Ordner heißt ja B061 und das file 061_
habe nun den Ordner auch nur 061 genannt, damit da keinerlei Unterschiede sind. Nun bekomme schon einen Schritt früher eine Fehlermeldung:
Subject: 061
Data not previously saved as mat-files. Loading...
Index exceeds matrix dimensions.
Error in LK_AppleGame_TestPathIntegrationModel_RS_130617 (line 233)
if ~isempty(regexp(ls_files(n, 1:3), subjects{sub, 1}(2:4), 'once'))
Viele Grüße und Danke
Ronja
Beschreibung: |
|
Download |
Dateiname: |
Bildschirmfoto 2017-06-14 um 13.59.38.png |
Dateigröße: |
46.74 KB |
Heruntergeladen: |
294 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.06.2017, 22:36
Titel:
|
|
Hallo,
hat die Datei wirklich keine Endung? Wird sie nicht evtl. nur nicht angezeigt? Siehe z.B. https://www.maceinsteiger.de/how-to/dateiendungen-anzeigen/
Die neue Fehlermeldung sieht sehr merkwürdig aus. Welche Befehle verursachen sie denn? Vor allem würde ich es nicht als Fortschritt sehen, schon früher eine Fehlermeldung zu bekommen.
Grüße,
Harald
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2017, 01:01
Titel:
|
|
Dürfen Dateinamen vorne mit Zahlen sein? Ich dachte, das wäre in Matlab verboten? Oder gilt das nur für Skripte? Evtl. hilft es ja, wenn Du dem Dateinamen vorne einen Buchstaben verpasst...
|
|
|
Ronja |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2017, 08:44
Titel:
|
|
Guten Morgen,
Also ich hab das jetzt über Einstellungen eingestellt und den Computer neugestartet, damit er die Änderung auch übernimmt. Aber die Datei sieht immer noch genauso aus. Ich werde mir den Spaß gleich mal in der Uni an einem Windows-Rechner anschauen, vielleicht finde ich da ja die Endung, die es haben müsste.
Das mit einem Buchstaben vorne habe ich auch schon probiert, hilft leider nicht.
Grüße
Ronja
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.06.2017, 09:04
Titel:
|
|
Hallo,
ist das selbstgeschriebener Code, oder woher kommt der?
Hast du es mal mit dem Debugger versucht?
Grüße,
Harald
|
|
|
Ronja |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2017, 12:22
Titel:
|
|
Hi,
Also auf dem Windows-Rechner hat er die files brav alle umgewandelt und gespeichert. Ich musste nur wieder textscan statt dopen verwenden und dann war alles tutti.
Vielen Dank für eure Hilfe und Ideen
Liebe Grüße
Ronja
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.06.2017, 12:28
Titel:
|
|
Hallo,
textscan kann man nicht statt fopen verwenden. Man muss zwingend fopen vor textscan verwenden, um eine File ID zu erzeugen.
Grüße,
Harald
|
|
|
Ronja |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2017, 13:04
Titel:
|
|
Hey,
ja, das mache ich im Schritt davor...also jetzt ist die Berechnung so:
aber auf meinem Mac hatte mir Matlab ja da zuerst die Fehlermeldung gesagt:
Error using textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in LK_AppleGame_TestPathIntegrationModel_RS_130617 (line 241)
tmp_data = textscan(fileID, '%s %s %s %s %s %s %s %d %d %d %s %s %s %s %s %s %d %d', 'HeaderLines',
1);
ich habe dann "fopen" verwendet und da war der filename falsch.
>> tmp_data = fopen(fileID, '%s %s %s %s %s %s %s %d %d %d %s %s %s %s %s %s %d %d', 'HeaderLines', 1)
Error using fopen
Invalid filename.
>>
Ich verwende also im zweiten Schritt nun wieder textscan statt fopen
Liebe Grüße
Ronja
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.06.2017, 13:06
Titel:
|
|
Ronja hat Folgendes geschrieben: |
ich habe dann "fopen" verwendet und da war der filename falsch.
|
Da war nicht der Dateiname falsch, sondern einfach der ganze Aufruf macht keinen Sinn. Die Argumente gehören ja zu
textscan
und nicht zu
fopen
...
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 20.06.2017, 12:38
Titel:
|
|
Hallo Epfi
Zitat: |
Dürfen Dateinamen vorne mit Zahlen sein? |
Ja, Filenamen dürfen mit Zahlen starten und Leerzeichen enthalten. Nur Matlab Scripte, Funktionen, Variablesn und Struct-Fieldnames sind von der Regel betroffen: <= 63 Alpha-Numerische Zeichen, erster Buchstabe ein Buchstabe.
Hallo Ronja,
Ist Dein Problem nun gelöst?
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
|
|
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.
|
|