Poniżej są czary, których sam do konca nie rozumiem, ale to jest chyba tak, że przed przekazaniem do interpretera Mathematici każda wartośc ma ustawianą precyzję na zadaną wartość (to ta ostatnia liczba w cudzysłowach poprzedzona znakiem odwrotnego apostrofu). Uwaga: wartość ustawiana jest globalnie i dotyczy wszystkich obliczeń, we wszystkich otwartych notatnikach. Normalnie obliczenia wykonywane są z precyzją maszynową (MachinePrecision). Normalnie precyzja maszynowa to 15.95 cyfry znaczącej czyli 53 bity znaczące (w dwójkowym zapisie zmiennoprzecinkowym).

$PreRead=(#/.s_String/;StringMatchQ[s,NumberString]&&Precision@ToExpression@s==MachinePrecision:>s<>"`50."&);

Gdy zmienna $PreRead jest nieustawiona wszytskie obliczeni aprowadzone są z precyzją maszynową (czyli tak jak fabryka dała) i nie są prowadzone szacunki błedu na każdym etapie obliczeń. Aby przywróćić zmiennej $PreRead satndardową (pierwotną wartość) należy wykonać polecenie: $PreRead=.

μ=3.9;

Tu sprawdzimy precyzję wartości zpisanej w x (NB Log[2.,10]Precision[x] oznacza liczbę znaczących bitów w x).

x=0.5;Precision[x]

Funkcja Accuracy[x] podaje wartość zależną od błędu bezwzględnego x. Jeżeli błąd bezwzględny x wynosi ξ, to Accuracy[x] wynosi -Log[10,ξ]. Dla wartości dokładnych Accuracy jest równa nieskończoności. Gdy Accuracy równa się α, to błąd bezwzględny wynosi (10^(-α)).

For[i=1,i<=100,i++,
x=μ*x*(1-x);(*Print[i," ",x];*)
If[Mod[i,10]==0,Print["i= ",i," x= ",x," ",NumberForm[x,6], " |", Log[2.,10]Precision[x]," ",Accuracy[x]]]
]