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

help! textscan...

 

felix

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2012, 10:46     Titel: help! textscan...
  Antworten mit Zitat      
Hallo,
ich bin anfänger in matlab und muss ein paar daten aus einer textdatei einlesen.
zum aussehen meiner textdatei:
es gibt 9 "headerlines" mit erklärungen, die übersprungen werden sollen.
danach folgen in 9 spalten messwerte. deren anzahl kann sehr variieren. sagen wir mal zwischen 100 und 3000.
die einzelnen spalten sind jeweils in einer zeile mit tabs getrennt. verständlich?
es sieht ungefähr so aus:
0 0.000 0.0 0.00 0.00 0.000 0.0 0.00 0.00
1 6.502 1.1 6.36 -4.57 6.386 0.6 0.00 0.00
2 6.502 1.2 6.20 -3.65 6.386 0.6 0.00 0.00
3 6.502 1.1 6.21 -4.24 6.386 0.6 0.00 0.00
4 6.502 1.1 5.73 -4.27 6.386 0.7 0.00 0.00

nun habe ich, vor allem durch dieses forum, über die funktion textscan einiges heraus gefunden. leider nicht genug! ich bekomme immer nur einen <1x9 cell> wenn ich folgenden code
Code:
fid = fopen('***.txt');
a = textscan('fid',repmat('%f', 1, 9),'MultipleDelimsAsOne', 1, 'HeaderLines', 9);

fclose(fid);

ausführe.
Bitte helft mir. ich kann den fehler nicht entdecken!
Besten Dank!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.07.2012, 10:57     Titel:
  Antworten mit Zitat      
Hallo,

die 1x9 - Cell ist das erwartete Resultat.

Mit a{1}, a{2}, ... kannst du auf den Inhalt der einzelnen Zellen und damit die Spalten zugreifen. Wenn du gerne eine große Matrix aus den Daten haben möchtest, kannst du das mit CELL2MAT umwandeln.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2012, 11:08     Titel:
  Antworten mit Zitat      
Danke für die sehr schnelle Antwort!

leider versteh ich sie nicht so ganz!

Kannst du bitte das "erwartete resultat" genauer erläutern?
Wie genau greife ich nun auf die einzelnen spalten zu?
Wie müsste ich CELL2MAT hier einsetzen?

NOOBALARM!!!

danke fürs antworten!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.07.2012, 11:34     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Kannst du bitte das "erwartete resultat" genauer erläutern?

TEXTSCAN gibt die Ergebnisse als Cell Array zurück, jede Spalte wird in einer Zelle abgelegt.

Zitat:
Wie genau greife ich nun auf die einzelnen spalten zu?

Wie bereits gesagt: "Mit a{1}, a{2}, ... kannst du auf den Inhalt der einzelnen Zellen und damit die Spalten zugreifen."

Zitat:
Wie müsste ich CELL2MAT hier einsetzen?

Code:

Bitte ggf. auch mal in die Hilfe der Befehle schauen; dort werden sie ja sehr ausführlich beschrieben:
Code:


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2012, 12:46     Titel:
  Antworten mit Zitat      
Danke für die Geduld!

Wenn ich mit a{x} auf eine "spalte" zugreifen will, kommt

ans =

Empty matrix: 0-by-1


wenn ich cell2mat einsetze ,kommt


ans =

Empty matrix: 0-by-9


ich denke nicht, dass dies gewünscht ist, oder?

die erwähnten hilfen helfen mir nicht weiter...
help!

danke im voraus!
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.07.2012, 13:25     Titel:
  Antworten mit Zitat      
Hallo felix,
Zitat:
die erwähnten hilfen helfen mir nicht weiter...

Die erwähnten Hilfen erklären alles, was man über diese Befehle erklären muss. Die lapidare Aussage, dass sie Dir nicht helfen, erlaubt nicht irgend einen besseren Vorschlag zu machen. Warum helfen sie Dir nicht, obwohl sie die Befehle vollständig erklären?

Z.B. hast Du noch gar keinen Delimiter definiert, so dass TEXTSCAN laut help-Text das Leerzeichen benutzt. Hast Du denn Leerzeichen im Text?

Gruß, Jan

Zuletzt bearbeitet von Jan S am 30.07.2012, 13:43, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
felix

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2012, 13:35     Titel:
  Antworten mit Zitat      
irgendwo ist ein fehler.
da ich keine erfahrung mit diesen funktionen habe, kann ich nicht sagen, welcher fehler dies genau ist.
ohne den fehler zu kennen, bringt mir eine hilfe wenig, da ich nicht weiß, welche "parameter" zu ändern sind.

mein anliegen ist, den fehler heraus zu finden.
Wenn ich wüsste, woran es bei mir gerade hapert, würde ich eure wertvolle zeit nicht strapazieren.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.07.2012, 19:01     Titel:
  Antworten mit Zitat      
Hallo,

ich habe eben den Fehler entdeckt: die ' ' um fid müssen weg.

Ich frage mich ernsthaft, wie man auf die Idee mit den ' ' kommt, da in den meisten der Beispiele in der Doku zu textscan fid verwendet wird und diese ' ' nirgends enthalten sind.

Grüße,
Harald
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.