|
|
Koordinaten aus verschiedenen Zeilen einer Datei einlesen |
|
timlie |
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 03.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.12.2020, 14:41
Titel: Koordinaten aus verschiedenen Zeilen einer Datei einlesen
|
|
|
|
|
Hallo liebe Community,
ich will aus einer Gcode/Text- Datei, die nicht immer gleich aufgebaut sein wird, die X- und Y-Koordinaten in einer (Nx2) Matrix speichern.
Über Textscan konnte ich es noch nicht so lösen, dass es für meinen Anwendungsfall ausreicht.
Textscan erwartet es zwei Strings zu überspringen, dann X und Y auszulesen und den Rest zu überspringen. Nun würde ich aber auch gerne die Koordinaten in Zeilen rauslesen können bei denen mal nur ein String vor X und Y steht oder kein String.
Die Koordinaten aus der zweiten Zeile kann ich z.B nicht auslesen und habe deshalb HeaderLines erstmal auf 2 gesetzt. Diese Koordinaten bräuchte ich aber auch.
Alle anderen Zeilen haben immer erst 2 Strings. Hier wäre ich aber gerne flexibel und will nicht immer darauf angewiesen sein zwei Strings in jeder Zeile stehen zu haben.
Gibt es die Möglichkeit über Textscan alles in einer Zeile zu ignorieren außer die Koordinaten, die ich rauslesen will?
Die Datei mit Endung .gcode lässt sich leider nicht anhängen, deshalb kopiere ich es euch hier rein:
Hilfsfunktion Düse an
G1 X10 Y10
N20 G1 X10 Y110 M10
N30 G1 X12 Y110 M20
N40 G1 X12 Y10
N50 G1 X14 Y10
N60 G1 X14 Y110
N70 G1 X16 Y110
N80 G1 X16 Y10
N90 G1 X18 Y10
N100 G1 X18 Y110
M30
Liebe Grüße Tim
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.12.2020, 11:02
Titel:
|
|
Hallo,
ein Ansatz:
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 ;)
|
|
|
timlie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 03.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.12.2020, 14:45
Titel:
|
|
Vielen Dank Harald!
Super Ansatz. Ich habe es noch für Minus-Werte ergänzt.
Was ist eigentlich der Unterschied zwischen "text" und 'text' ?
Funktionen, die solche Anführungszeichen für Text brauchen, funktionieren bei mir meistens mit beiden. Das Pattern bei exctract hat jedoch die hier "" verlangt .
Liebe Grüße Tim
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.12.2020, 21:45
Titel:
|
|
Hallo,
' ' sind Char, " " sind Strings. Strings sind die moderneren Chars, sind also oft intuitiver und bieten manchmal mehr Möglichkeiten.
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 ;)
|
|
|
timlie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 03.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2021, 12:08
Titel:
|
|
Hey, wie muss ich das Pattern ändern damit auch Kommazahlen beim DigitsPattern berücksichtigt werden?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.03.2021, 12:45
Titel:
|
|
Hallo,
heißt "Kommazahlen", dass das Dezimaltrennzeichen , ist? Oder .?
Sind alle Zahlen mit Dezimalanteil angegeben oder nur manche?
Man könnte das Pattern z.B. so anpassen:
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 ;)
|
|
|
timlie |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 03.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.03.2021, 12:49
Titel:
|
|
Nur manche. Es können ganze Zahlen und welche mit Dezimalpunkt (.) vorkommen.
Z.B. X12, X12.5 , X120, X120.5
Kann man auch noch die Anzahl der Kommastellen begrenzen ?
Vllt. über digitsPattern(min,max)?
Lg
Tim
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.03.2021, 13:56
Titel:
|
|
Hallo,
Zitat: |
Kann man auch noch die Anzahl der Kommastellen begrenzen ?
Vllt. über digitsPattern(min,max)? |
Ja, und genau so wie du meinst. Probier's doch mal aus und sag Bescheid, falls es Probleme gibt (und wie diese konkret aussehen).
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 ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|