Anzeige:
Ergebnis 1 bis 4 von 4

Thema: [Ticks] Fehler bei Berechnungen

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    179

    [Ticks] Fehler bei Berechnungen

    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:
    Code:
    \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}

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.767
    versuch es mal anders herum
    Code:
    		\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
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    179
    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.

    Code:
    \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?

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.767
    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
    Code:
    \ten= \magnification*\schrittweite/(\stop-\start);
    aus.

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •