Hallo zusammen,
in meiner Diplomarbeit habe ich mich mal mit der Ausgabe
formatierter S-Parameter befasst,
dabei ist folgende Routine zustandegekommen die
die wissenschaftlichliche Schreibweise für Zahlen ungleich 0
einhaelt.
Die Null lediglich ohne Exponent dargestellt.
data = Table[Random[]*(Random[] - 0.5), {i, 10}];
AppendTo[data, 0];
Out[33]=
{-0.0839021, -0.0292985, 0.000751367, 0.0730942, 0.325709, -0.208322, \
0.0549319, 0.345198, 0.0362342, 0.127864, 0}
file = OpenWrite["test", FormatType -> OutputForm];
For[j = 1, j <= Length[data], j++,
sci[a_] :=
ScientificForm[a, {4, 3},
NumberFormat -> (If[a != 0, SequenceForm[#1, "E", #3], #1] &),
ExponentFunction -> (# &),
NumberPadding -> {" ", "0"},
NumberSigns -> {"-", "+"}
];
WriteString[file, sci[data[[j]]], "\n"]
];
Close[file]
!! test
>From In[24]:=
-2.168E-1
+2.180E-1
+9.018E-2
+5.868E-3
+1.529E-1
+1.123E-2
+2.748E-1
-9.533E-2
-8.378E-2
+2.001E-1
+0.000
Das Argument 4 gibt die Anzahl der gültigen Stellen an.
Das Argument 3 die Anzahl der Nachkommastellen.
Zweimal daselbe Argument (4,4) führt damit zu einer Null am Ende
In[63]:=!! test
Out[63]:=
-8.3900E-2
-2.9300E-2
+7.5140E-4
+7.3090E-2
+3.2570E-1
-2.0830E-1
+5.4930E-2
+3.4520E-1
+3.6230E-2
+1.2790E-1
+0.0000
Vielleicht hilft das weiter
Mit freundlichen Gruessen
Frank Kronmueller
----------------------------------------
TEMIC Semiconductor GmbH
Frank Kronmueller
Dipl.-Ing.(FH)
Analog IC Design Engineer
Data Communication IR
Dept. A&C25
Theresienstr. 2
74072 Heilbronn
Germany
eMail : frank.kronmueller@XXXXXXX.de
frank.kronmueller@XXXXXXX.org
PGP : Public Key available on request
Phone : (+49)-(0)-7131-67-3135
Fax : (+49)-(0)-7131-67-2244
WWW : www.temic-semi.de
----------------------------------------