was heist anderes programm ?
welches programm ?
mit single-presicion numbers sind mit sicherheit binäre IEEE 4byte floatingpoint zahlen gemeint.
die könnte man sicher mit BinaryRead[] oder BinaryReadList[] einlesen.
da muss man halt einiges an arbeit investieren.
hier mal ein schnellschuss wenn man das erste byte überliest und die weiteren 40bytes als jeweils 4byte floatingpoint
liest erhält man 10 zahlen die möglicherweise sinn machen (oder auch nicht)
weiters zu beachten ist das in jeder vernünftigen programmiersprache (wie z.b. mathematica) das dezimaltrennzeichen der
punkt "." ist und nicht irgendwelche kommmas oder strichpunkte, auch gibt es keine tausendertrennzeichen oder ähnlichen
unsinn.
BinaryRead["09.dat",Join[Table["Byte",{1}],Table["Real32",{10}]]]//Rest
{720.054,578.195,2047.23,1751.61,981.46,1839.73,1806.45,1185.64,1606.76,867.023}
l.g. robert
-----Original Message-----
From: Carsten Panzner [mailto:carsten@XXXXXXX.de]
Sent: Thursday, June 09, 2005 9:54 PM
To: Mathematica Forum
Subject: datei einlesen
hallo
ich möchte eine Datei in mathematica einlesen. ein beispiel befindet sich im anhang. die datei wurde von labview
erstellt.
Über die Art der datei ist in der hilfe folgendes angegeben:
"Sie können dieses VI zum Schreiben skalierter Daten, die von Datenerfassungs-VIs erfasst wurden, verwenden, ohne deren
Darstellung zu ändern. Verwenden Sie dieses VI mit Fließkommazahlen ... schreibt ein array von single-presicion
numbers (SGL) to a bytestream file."
In einem editor ist nix ausser "zeichenmüll" zu erkennen. Wenn ich die datei mit einem anderen programm anschaue sieht
der inhalt so aus:
Index;Y-Wert;2200;1;0
0;992,050048828125
1;990,1884765625
2;987,624938964844
3;983,810180664063
4;981,460266113281
5;979,873352050781
6;979,232482910156
7;976,821533203125
8;975,38720703125
9;975,02099609375
10;974,837890625
11;975,26513671875
12;974,258056640625
13;975,9365234375
14;976,4248046875
15;976,72998046875
16;976,85205078125
17;976,72998046875
18;976,1806640625
19;974,89892578125
20;974,624267578125
usw.
die erste zeile wird in mathematica nicht benötigt und kann verworfen werden.
die datei soll so eingelesen werden dass eine tabelle mit wertepaaren entsteht. etwa so:
{
{0,992.050048828125},
{1,990.1884765625},
{2,987.624938964844},
{3,983.810180664063},
{4,981.460266113281},
{5,979.873352050781},
{6,979.232482910156},
{7,976.821533203125},
{8,975.38720703125},
{9,975.02099609375},
{10,974.837890625},
{11,975.26513671875},
{12,974.258056640625},
{13,975.9365234375},
{14,976.4248046875},
{15,976.72998046875},
{16,976.85205078125},
{17,976.72998046875},
{18,976.1806640625},
{19,974.89892578125},
{20,974.624267578125},
usw.
}
meine probleme sind also das entziffern des kauderwelsch in der datei,
das ersetzen des komma durch einen punkt,das ersetzen des semikolon durch ein und das erstellen einer tabelle.
weiß da jemand weiter?
dankedankedanke
carsten