Verfasst am: 14.12.2011, 14:46
Titel: Einlesen von Datei mit zusammenhängeneden Koordinaten
Hallo, Matlab-Gemeinde!
Ich versuche schon seit längerer Zeit eine Messdatei per Programm einzulesen.
Diese sieht so aus:
INPUTVERSION 2010
ANALYSIS EXPLICIT
SOLVER CRASH
TITLE / Platte_biax.pc
OCTRL /
THPOUTPUT INTERVAL 0.05
DSYOUTPUT INTERVAL 0.05
END_OCTRL
RUNEND/
TIME 0.
END_RUNEND
$# NODEID XCOORD YCOORD ZCOORD
NODE / 14-0.6512839114463 19.258672822767191.231735658854
NODE / 15-2.749436223025219.2648551175469191.291400505236
NODE / 16-2.674186997218921.2843902290861191.543802801496
NODE / 17-4.396601757201222.5162570822431191.518204684101
und etwa 18000 Zeilen später gehts dann so weiter
$# M IPART N1 N2 BLANK CBEND
BAR / 14 4000 14 15
BAR / 15 4000 15 16
Mein Ergebnis sollte dann in 2 Matrizen ausgegeben werden und so aussehen:
1.Matrix (="Data_nodes")
14 -0.6512839114463 19.258672822767 191.231735658854
15 -2.7494362230252 19.2648551175469 191.291400505236
usw.....
2.Matrix ("Data_bars"):
14 14 15
15 15 16
Probleme in meinem Programm macht eigtl nur die Matrix "Data_nodes".
Sobald ein Leerzeichen zw der X- & Y-Koordinaten auftaucht (siehe Zeile mit "NODEID 14"), gibt das Programm mir die falsche Z-Koordinate. Es nimmt dann die 1 zu der Y-Koordinate dazu. Also
anstatt 191.231735658854 steht dann 91.231735658854 da.
Was muss ich ändern?
%die nächste Zeile ist mein Problem..was muss ich einfügen oder ändern?
Data_nodes=textscan(fid,'%s%f%16f%16f%16f','headerlines',7,'delimiter',' ''/','MultipleDelimsAsone',1,'CollectOutput',1);
Hallo
Da hast einfach in deinem Textfile Fehler.
Da ist eine Zahl einfach nur 15 Zeichen lang.
Also keine homogenen Daten, deswegen kann an dieser Stelle algorithmisch wenig ausrichten.
danke,denny! das is natürlich blöd, denn meine messdaten werden mir so gegeben...
also,so wie ich das sehe erkennt er ja die leerstellen,die da auftreten.könnte ich da vllt mit einer if-abfrage was erreichen...also,dass er wenn so ne leerstelle kommt er das format ändert?
is nur mal so ne idee...kp,wie man das programmieren würde...
oder hat einer ahnung wie ich die datei vllt schon im vorraus richtig formatieren könnte?
brauch auch nich alle nachkommastellen...es würden wohl auch 10 tun....
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
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.