PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Ticks] Fehler bei Berechnungen



MC3330
30-12-2019, 10:20
Hallo,

ich bin mal wieder auf ein Problem gestoßen.

Ich berechne in Ticks verschiedene Zahlen um Bilder zu zeichnen. Leider kommen teilweise Ergebnisse raus, die nicht der Alltagsmathematik entsprechen. Ich hatte das schon bei verschiedenen anderen Sprachen und vermute es hat irgendwas mit Gleitkommaarithmetik zu tun, die ich bisher nicht so wirklich verstehe.

In meinem Minimalbeispiel führe ich folgenden Rechnungen durch.
\ten = 10/10*100
\five = 10/20*100
\step = 10/100*100

Ich hätte als Ergebnisse gerne \ten = 100, \five=50 und \step = 10.
In meinem MB erhalte ich jedoch \step=9,99908

Kennt jemand eine Möglichkeit, dass "normale" Arithmetik angewendet wird?

Viele Grüße

Minimalbeispiel:


\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{math}

\newcommand{\zahlenstrahl}{
\tikzmath{
\ten = 10/10*100;
\five = 10/20*100;
\step = 10/100*100;
}%\

\node at (0,0) {\ten};
\node at (0,1) {\five};
\node at (0,2) {\step};
}%\
\begin{document}
\begin{tikzpicture}
\zahlenstrahl
\end{tikzpicture}
\end{document}

rais
30-12-2019, 11:28
versuch es mal anders herum


\step = 100*10/100;

dann braucht es keine Nachkommastelle im Zwischenergebnis.
Wenn nicht mind. 2 der Werte Variablen sind, ließe sich der Rest vllt auch kürzen.

VG

MC3330
30-12-2019, 11:34
Das war nur für das Minimalbeispiel um das Problem zu verdeutlichen.

Im Orginal sieht es so aus. Da wird es sich leider nicht vermeiden lassen, dass es Nachkommastellen im Ergebnis gibt.


\ten = \magnification/10*100/(\stop-\start)*\schrittweite/10;

Ich habe eben nochmal ein bisschen was dazu gelesen.
Vermutlich muss ich dann mit kleinen Ungenauigkeiten in der Zeichnung leben?

rais
30-12-2019, 12:40
mag sein.
Mach es dem `Rechner' halt so einfach wie möglich.
Meine letzte Mathestunde ist zwar schon ein paar Jährchen her, aber für mich sieht es letztendlich nach


\ten= \magnification*\schrittweite/(\stop-\start);
aus.

VG