Fehlerhafte Berechnung mit pgfmath

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Fehlerhafte Berechnung mit pgfmath

von esdd » Fr 15. Sep 2017, 20:54

trig format plots=rad wirkt sich nur auf \addplot aus. Wenn Du generell umstellen willst, dann verwende trig format=rad. Das ist auch in der Doku zu pgfplots beschrieben.

von Patrick1990 » Fr 15. Sep 2017, 17:05

Ok, ich habe den Fehler bereits gefunden, ich muss explizit Radiant angeben (obwohl ich es oben eigentlich schon hatte). Gibt es noch eine Möglichkeit, allgemein den Ausdruck in den Winkelfunktionen auf Radiant zu setzen?

Fehlerhafte Berechnung mit pgfmath

von Patrick1990 » Fr 15. Sep 2017, 16:53

Hallo,

ich versuche gerade ein wenig kompliziertere Gleichungen darzustellen.
Leider erhalte ich für den Punkt M ein falsches Ergebnis.
Richtig wäre M( 40.46,163.88 ).
Was mache ich falsch?

Hier das Minimalbeispiel:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\begin{document}

\begin{tikzpicture}[
scale=1,
>=latex
]
\begin{axis}
[
trig format plots=rad, 
xmin=0,
xmax=2,
ymin=150,
ymax=200,
]
%
\def\pol{4} 
\def\kpol{0.8}
\def\alphap{0.9}
\def\delt{1}
\def\dsi{360}
%
\def\fxm{sin(pi/(2*\pol)*\alphap)*((\dsi-2*\delt)/2-(\kpol*\delt*(1/(cos(\pol*(pi/(2*\pol)*\alphap)))-1)))}
\def\fym{cos(1/(2*\pol)*pi*\alphap)*((\dsi-2*\delt)/2-(\kpol*\delt*(1/(cos(\pol*(1/(2*\pol)*pi*\alphap)))-1)))}
\pgfmathsetmacro\resultX{\fxm}
\pgfmathsetmacro\resultY{\fym}
%
%
\coordinate (M) at (\resultX,\resultY);
\draw (0,0) -- (M);
\end{axis}
\end{tikzpicture}

\end{document}

Nach oben