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

Bestimmte Zeilen aus *.dat einlesen

 

Kojak

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 18:49     Titel: Bestimmte Zeilen aus *.dat einlesen
  Antworten mit Zitat      
Hallo!
Kann mir jemand sagen, wie ich mit matlab nur bestimmte Zeilen einer dat-File wie im Anhang einlesen kann? Ich möchte alle Zeilen die mit '#' beginnen generell ignorieren. Außerdem brauche ich eine Funktion, die es mir bspw. erlaubt alle Werte die in den Zeilen die mit 'i' beginnen, in eine Matrix zu schreiben. Gibt es da soetwas ähnliches wie match '^i'? Auch den jeweiligen Wert in den Zeilen die mit 'n' und 'c' beginnen möchte ich als Parameter in einem Vektor speichern.
Die Auswahl der betreffenden dat-file möchte ich in etwa wie folgt lösen:
file = input('Bitte Dateiname eingeben : ','s');
fid = fopen('file');
Ich möchte also über einen Eingabedialog die entsprechende dat-file auswählen.
Wäre echt klasse wenn mir jemand helfen kann! Danke schon mal!
MfG Kojak

beispiel.JPG
 Beschreibung:
*.dat ist hier leider nicht erlaubt, deswegen als *. jpg

Download
 Dateiname:  beispiel.JPG
 Dateigröße:  21.67 KB
 Heruntergeladen:  776 mal


Kojak

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 19:35     Titel:
  Antworten mit Zitat      
Hab jetzt mit dlmread eine Möglichkeit gefunden meine benötigten 'i' Zeilen einzulesen. Leider haut es dann mit dem Eingabedialog nicht mehr hin. Außerdem brauch ich auch noch die 'n' und die 'c' Zeile. Ideen?
 
Kojak

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 22:57     Titel:
  Antworten mit Zitat      
Ok mittlerweile weiß ich auch, wie ich auf die 'n' und die 'c'-Zeile zugreife. Nämlich mit:
n = dlmread('knapsack_10.dat','',[1 1 1 1]);
c = dlmread('knapsack_10.dat','',[3 1 3 1]);
Aber unklar ist mir noch wie ich das mit meinem Eingabedialog hinbekomme.
 
Lim

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2008, 22:37     Titel: Bestimmte Zeilen aus *.dat einlesen
  Antworten mit Zitat      
Hmm, vielleicht missverstehe ich Dich, aber wenn Du den Dateinamen mit
Code:
file = input('Bitte Dateiname eingeben : ','s');

abfragst, hast Du ihn doch als String in der Variablen file stehen und kannst ihn z.B. in
Code:
n = dlmread(file,'',[1 1 1 1]);

benutzen. Auf fopen/fclose musst Du bei dlmread verzichten, aber das macht ja nix.
Kommt evtl. auch ein Dateidialog mittels uigetfile infrage, was die Dateinamensfindung komfortabler macht?
Grüße & viel Erfolg
 
Kojak

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2008, 14:55     Titel:
  Antworten mit Zitat      
Super danke! Hat funktioniert. Stand da wohl ziemlich auf dem Schlauch.
 
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.