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

Einlesen ausgewählter Zeilen einer umfangreichen Textdatei

 

KiSand
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 22.10.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2020, 14:28     Titel: Einlesen ausgewählter Zeilen einer umfangreichen Textdatei
  Antworten mit Zitat      
Hallo zusammen,

Ich stehe seit mehreren Tagen vor folgendem Problem:

Ich habe eine Textdatei (z88o3.txt) welche die Spannungswerte einer FE-Anlayse enthält. Die Werte dieser Datei möchte ich in Matlab einlesen und im Anschluss den maximalen Spannungswert heraussuchen.
Lese ich die Textdatei mit dem Tool "Import Data" in Matlab ein und schließe dabei die Kopfzeilen, alle Leerzeilen und alle Zeilen, die nicht mit einer Zahl beginnen aus, so funktioniert der Import der Datein einwandfrei. Das Ganze möchte ich jetzt aber auch mittels Code umsetzen, sodass ich das ganze automatisiert ablaufen lassen kann und nicht jedes Mal das "Import Data"-Tool aufrufen muss. Meine Idee war, die Textdatei Zeile für Zeile einzulesen, und jede Zeile die nicht mit einer Zahl (double) beginnt, zu ignorieren. Leider weiß ich jedoch nicht wie ich da ran gehen soll.
Andernfalls wäre es auch cool, wenn es eine Möglichkeit gäbe, das was das Import-Tool macht, direkt als Code im Command Window ausgeben zu lassen.
Bin für jeden Tipp dankbar.

Hier ein kleiner Ausschnitt, wie die Textdatei aussieht:

Code:
Ausgabedatei Z88O3.TXT : Spannungen, erzeugt mit Z88R V15.0B
                         **********

bei isoparametrischen Elementen Berechnung der Spannungen in den Gausspunkten
4 Punkte pro Achse/Element
Berechnung der Vergleichsspannungen nach Gestaltsaenderungsenergie-Hypothese fuer Elemente 3 + 6  
sowie fuer Gausspunkte der Elemente 1,7,8,10,11,12,14 bis 24

Element # = 1     Typ = 4-K Tetraeder
 XX         YY         ZZ         SIGXX       SIGYY       SIGZZ       TAUXY       TAUYZ       TAUZX       SIGV
 -2.15E+001 -1.98E+002 -3.87E+002 +2.011E-002 +1.472E-003 +1.816E-003 +1.620E-002 +1.092E-002 +1.292E-002 +4.458E-002
 -2.25E+001 -1.90E+002 -3.96E+002 +2.011E-002 +1.472E-003 +1.816E-003 +1.620E-002 +1.092E-002 +1.292E-002 +4.458E-002
 -1.67E+001 -1.86E+002 -3.88E+002 +2.011E-002 +1.472E-003 +1.816E-003 +1.620E-002 +1.092E-002 +1.292E-002 +4.458E-002
 -2.49E+001 -1.87E+002 -3.83E+002 +2.011E-002 +1.472E-003 +1.816E-003 +1.620E-002 +1.092E-002 +1.292E-002 +4.458E-002

Element # = 2     Typ = 4-K Tetraeder
 XX         YY         ZZ         SIGXX       SIGYY       SIGZZ       TAUXY       TAUYZ       TAUZX       SIGV
 +1.28E+002 +3.24E+002 +4.76E+001 -1.934E-001 -1.544E-002 -2.573E-002 +2.540E-002 +2.071E-003 +2.124E-003 +1.787E-001
 +1.20E+002 +3.56E+002 +7.34E+001 -1.934E-001 -1.544E-002 -2.573E-002 +2.540E-002 +2.071E-003 +2.124E-003 +1.787E-001
 +1.13E+002 +3.46E+002 +3.94E+001 -1.934E-001 -1.544E-002 -2.573E-002 +2.540E-002 +2.071E-003 +2.124E-003 +1.787E-001
 +1.20E+002 +3.61E+002 +5.15E+001 -1.934E-001 -1.544E-002 -2.573E-002 +2.540E-002 +2.071E-003 +2.124E-003 +1.787E-001

Element # = 3     Typ = 4-K Tetraeder
 XX         YY         ZZ         SIGXX       SIGYY       SIGZZ       TAUXY       TAUYZ       TAUZX       SIGV
 +1.07E+002 -3.32E+002 -1.71E+002 +2.073E-001 +1.694E-002 +3.667E-002 +2.493E-002 -1.486E-002 +3.116E-003 +1.882E-001
 +1.07E+002 -3.25E+002 -1.40E+002 +2.073E-001 +1.694E-002 +3.667E-002 +2.493E-002 -1.486E-002 +3.116E-003 +1.882E-001
 +8.80E+001 -3.42E+002 -1.51E+002 +2.073E-001 +1.694E-002 +3.667E-002 +2.493E-002 -1.486E-002 +3.116E-003 +1.882E-001
 +8.80E+001 -3.37E+002 -1.61E+002 +2.073E-001 +1.694E-002 +3.667E-002 +2.493E-002 -1.486E-002 +3.116E-003 +1.882E-001


z88o3.txt
 Beschreibung:

Download
 Dateiname:  z88o3.txt
 Dateigröße:  14.3 MB
 Heruntergeladen:  306 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

ich habe es bisher nur mit dem Ausschnitt versucht:

Code:
A = readmatrix('Beispiel.txt', 'CommentStyle', {'Element', 'XX'});
A = rmmissing(A);


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
KiSand
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 22.10.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2020, 10:09     Titel:
  Antworten mit Zitat      
Hallo Harald,

Danke für deine Antwort. Die Funktion "readmatrix" hilft mir auch nicht so ganz weiter. Da habe ich auch schon ein paar Experimente damit gemacht....

Ich brächte mehr sowas wie:

1. ignoriere die ersten 8 Zeilen (-->headerlines)
2. lies nur Zeilen ein, die mit einer Zahl beginnen
3. Lege eine Matrix an mit 10 Spalten und einer variablen Anzahl an Zeilen (je nach eingelesener Datei) und schreibe die eingelesenen Daten in diese Matrix.

Wenn ich "readmatrix" verwende, habe ich das Problem, dass die Zeilen, die mit "Element #" beginnen auch mit eingelesen werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Wenn ich "readmatrix" verwende, habe ich das Problem, dass die Zeilen, die mit "Element #" beginnen auch mit eingelesen werden.

Hast du wirklich meinen Vorschlag versucht? Der Teil 'CommentStyle', {'Element', 'XX'}); sollte das ja gerade verhindern (und hat das bei mir auch getan).
A wird jedenfalls eine 12x10-Matrix - genau das, was ich bei dem Dateiausschnitt erwarten würde.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.