DMUG-Archiv 2006

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Auf n gültige Ziffern runden?

"Dr. Rolf Mertig" <rolfm@XXXXXXX.com> wrote:

> Relativ einfach kann man das auf dem Notebook-Level machen:
>
> SetOptions[InputNotebook[], PrintPrecision -> 3]
>
> Oder, wenn man es wirklich global und immer haben will:
>
> SetOptions[$FrontEnd, PrintPrecision -> 2]

Das bringt mir leider gar nichts, weil ich definitiv nicht alle Zahlen
mit dieser geringen Präzision anzeigen will.

> Für reine Kernelliebhaber und Frontendverächter gibt es dann noch NumberForm,
> also z.B.:
>
> RoundTo[expr_, n_Integer]:= NumberForm[expr, n]

Das klingt gut.  Man scheint es auch zum Weiterrechnen verwenden zu
können - oder doch nicht?

,----
| In[1]:=
| pi=\[Pi]
| b=NumberForm[N[pi],4]
| 
| Out[1]=
| \[Pi]
| 
| Out[2]//NumberForm=
| 3.142
`----

Soweit, so gut

,----
| In[3]:=
| b
| 
| Out[3]//NumberForm=
| 3.142
`----

Immer noch gut.  Aber hier sollte ungefähr 0.9944 herauskommen:

,----
| In[4]:=
| N[b/\[Pi]]
| 
| From In[4]:=
| \!\(\*
|   RowBox[{\(NumberForm::"iprf"\), \(\(:\)\(\ \)\), "\<\"Formatting \
| specification \\!\\(4.`\\) should be a positive integer or a pair of positive \
| integers. \\!\\(\\*ButtonBox[\\\"Mehr\[Ellipsis]\\\", \
| ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
| ButtonData:>\\\"NumberForm::iprf\\\"]\\)\"\>"}]\)
| 
| Out[4]=
| 0.31831 3.14159
`----

Also ist es wohl doch nur zum Anzeigen zu gebrauchen, nicht zum Runden.

Ich habe übrigens jetzt eine rekursive Funktion geschrieben, die prüft,
ob 10^(AnzahlGueltigeZiffern-1) <= Zahl < 10^(AnzahlGueltigeZiffern)
ist.  Wenn ja, rundet sie und gibt die gerundete Zahl und die Zahl der
Multiplikationen zurück.  Wenn nein, multipliziert sie mit 10 bz. 0.1
und ruft sich selber wieder auf.

Gruß, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html