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

Probleme beim Einlesen von Daten mittels textscan

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2012, 16:03     Titel: Probleme beim Einlesen von Daten mittels textscan
  Antworten mit Zitat      
Hallo,

ich würde gerne wissen, wie man mit textscan etwas geschickter umgehen kann. Ich muss ziemlich viele Höhenwerte, die in einem .txt-file abgespeichert sind, in eine matrix bekommen.
In meinem beispiel ist es eine nxn matrix und funktioniert auch nur deswegen. Die Messwerte stammen von einem quadratischen Prüfkörper.
Mein code ist derzeit:
Code:

[ name, pfad ] = uigetfile ( '.txt' , 'Messung wählen' );
fid = fopen ( name, 'r' );          

H = textscan ( fid, '%f', ...
               'delimiter' , '\t', ...
               'headerlines' , 1, ...
               'whitespace' , '\n', ...
               'emptyvalue' , 0 );

fclose ( fid );                    

M = cell2mat ( H );  
               
i = sqrt ( length(M) ) ;

M = reshape ( M, i, i );          
 


wie könnte man denn mit textscan matrizen einlesen, die nicht nxn förmig sind? wenn man vorher nicht weiß wie viele messwerte in dem txt file sind.

gruß peter


Harald
Forum-Meister

Forum-Meister


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

ich würde mir eine Zeile holen und darin die Tabulatoren zählen. Dann solltest du wissen, wieviele Spalten die Matrix haben muss.

Code:
l = fgetl(fid)
nnz(double(l) == 32)

Achte auch darauf, ob du wirklich die richtige Matrix bekommst. Auf Anhieb würde ich denken, dass M die Transponierte der gewünschten Matrix ist.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2012, 16:44     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für die schnelle antwort und du hast recht, es ist die transponierte.

Das mit den tabulatoren zählen ist eine gute idee! Ich hoffe das bekomme ich hin, habe nämlich noch nicht viel erfahrung mit matlab..
Leider muss ich gleich aus dem Gebäude und kann es heute nicht mehr testen Smile

Danke trotzdem und ein schönes Wochenende.

Gruß Peter
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2012, 11:51     Titel:
  Antworten mit Zitat      
Hallo,

also das mit den Tabs zählen habe ich leider nicht hinbekommen..
Ich habe es jetzt aber ähnlich gelöst, indem ich eine Zeile ausgelesen habe, die in einen Vektor umgewandelt und dann die Anzahl der Elemente ausgeben lasse.
Danke nochmal für den Denkanstoß!

Gruß, Peter
 
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.