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

Datei öffnen und auslesen mit GUI

 

math86
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2014, 11:30     Titel: Datei öffnen und auslesen mit GUI
  Antworten mit Zitat      
Ich habe Messungen durchgeführt und für jeden Messtag einen eigenen Ordner. Im Hauptordner befindet sich mein Programm und die Ordner der einzelnen Messtage.

Wenn ich die Datei auslesen will, muss ich 19 Headlines überspringen.

Code:
fin =fopen ('01.txt','r');
for n = 1:19
 fgetl(fin);
end
 


mit diesem Code funktionierte es jedoch muss ich, dass Programm im selben Ordner haben, wie meine Messdaten und ich musste den Namen kennen.

Ok, dachte ich mir folgendes, Name kannst du nach gucken, aber wenn du etwas am Programm änderst, musst du das x-mal machen.

Code:
fin =fopen ('Ordner1/01.txt','r');
 


das einzige, dass ich geändert hatte bis jetzt, war das Programm im Hauptordner und die Messdaten in den Unterordnern. Doch es kam aufeinmal die Fehlermeldung, wie sie bereits am Ende steht.





Also dachte ich mir:

Code:
[dateiname, path] = uigetfile ('C:\...\ *.txt, 'Auswahl: ');

if path == 0
return
end

fin = fopen ('dateiname', 'r');
 


mit uigetfile kann man keine Dateien öffnen, dass ist mir bewusst.
wo liegt mein Fehler?

Die Fehlermeldung ist folgende:

??? Undefined function or method 'fgetl' for input arguments of type 'double'


Ich hoffe ich bin hier in der richtigen Abteilung mit meinem Problem gelandet, ich weiß echt nicht mehr ein noch aus, deswegen schreibe ich hier.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

du musst dateiname als Variable verwenden, also
Code:
fin = fopen (dateiname, 'r');


Noch besser wäre es, wenn du den vollen Dateinamen angibst:
Code:
fin = fopen (fullfile(pfad, dateiname), 'r');


Da path auch eine Funktion ist, sollte man das Verwenden von path als Variable vermeiden.

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

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2014, 14:07     Titel:
  Antworten mit Zitat      
Danke Harald,

dennoch habe ich das Problem,
dass ich beim überspringen, immer noch den Fehler

??? Undefined function or method 'fgetl' for input arguments of type 'double'

immer noch angezeigt bekomme, jedoch muss ich die 19 Headlines überspringen

Code:


fin = fopen (fullfile(pfad, dateiname), 'r');

for n = 1:19    %Schleife zum auslassen der Headlines
 fgetl(fin);
end

 



Das kuriose ist, dass der Fehler nicht auftrat als Messdaten und Programm im selben Ordner waren.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.01.2014, 14:25     Titel:
  Antworten mit Zitat      
Hallo,

gib mal
Code:

ein. Was kommt da zurück?

Hast du vielleicht Änderungen am MATLAB Suchpfad vorgenommen?
Code:
und dann mal auf Default zurücksetzen.

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

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2014, 17:54     Titel:
  Antworten mit Zitat      
also mit dem pathtool hat nichts gebracht,

bei dem Befehl which fgetl sagt er mir folgendes

Code:

'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
'fget1(fin)' not found.
??? Index exceeds matrix dimensions.

Error in ==> programm_aktuell at 42
U = A(1:zanz(1,1),3);                   %Auswahl Amplitude

 


kann ich dir vielleicht mal eine PN schreiben und das Programm + eine Testdatei senden?

was mich auch verwundert ist, dass er aufeinmal die Funktion fegtl nicht mehr findet?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.01.2014, 18:03     Titel:
  Antworten mit Zitat      
Hallo,

die Fehlermeldung sieht so aus, als ob du fget1 (mit Zahl eins) statt fgetl (mit 12. Buchstabe des Alphabets) verwenden würdest.

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

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 11.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2014, 18:18     Titel:
  Antworten mit Zitat      
Super jetzt funktioniert es, lag wirklich an der "eins"

muss mal die standardschriftart ändern.

Tippfehler gewesen, aber ohne deine anderen Tipps hätte es auch nicht funktioniert.


Vielen Dank für die schnelle und nette Hilfe,
auch bei solch dummen Fehlern.
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 - 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.