Warum zeichnet pgfplots Funktionen nur, bis x = 5 und y = 5 ist?

Warum zeichnet pgfplots Funktionen nur, bis x = 5 und y = 5 ist?

Warum plottet pgfplots Funktionen nur bis x = 5 und y = 5, aber nicht darüber hinaus?

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{tikz}
\usepackage{pgfplots}

%%%<
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}
%%%>

\begin{document}
\begin{tikzpicture}
\begin{axis}[samples=100,ymin=0,ymax=10,xmin=0,xmax=20]

\addplot [thick] plot  (\x,  {1/(1 + exp(-0.6*(\x - 12)))});
\addplot plot (\x, {\x});

\end{axis}
\end{tikzpicture}
\end{document}

Antwort1

Es gibt viele „Domänen“-Optionen in pgfplots. Die, nach der Sie fragen, ist einfach domain, die angibt, welche Werte von x(Sie benötigen den Backslash nicht, wenn Sie verwenden pgfplots) beim Plotten verwendet werden; standardmäßig haben wir domain = -5:5, was der Autor anscheinend für angemessen für typische Diagramme hält. Es gibt eine Entsprechung y domainfür Funktionen mit zwei Variablen.

Dieser Bereich unterscheidet sich deutlich von den durch xminund festgelegten Grenzen xmax. Während domainpro Diagramm festgelegt wird, werden diese Schlüssel pro Achse festgelegt und beschränken nur die tatsächlicheZeichnungzu diesen Grenzen. Es gibt entsprechende yminund ymax. Diese werden automatisch von berechnet, pgfplotswenn sie nicht angegeben sind, aber für ein wirklich ausgefeiltes Bild ist es notwendig, sie selbst festzulegen. Beachten Sie, y domaindassnichthaben nichts mit yminund ymaxin einem Diagramm von Funktionen mit einer Variablen zu tun, da es die Eingaben der nicht vorhandenen Variablen bestimmt y. Stattdessen würden yminund ymax, wenn sie automatisch bestimmt würden, aus den von Ihren dargestellten Funktionen über die ausgegebenen Werte berechnet domain.

Es gibt noch mehr! Meine Favoriten sind restrict x to domainund restrict y to domain, das sind Filter mit derselben Eingabesyntax wie domain. Diese bestimmen nicht, welche Zahlen in den Variablen verwendet werden, sondern welche Werte im Diagramm verwendet werden. Sie sind enorm hilfreich bei parametrischen oder unkontrollierbaren Funktionen; d. h. erzeugt \addplot {1/x};mit dem Standard domain = -5:5eine ziemlich hässliche Asymptote bei x = 0sowie (mit dem Standard yminund ymax) eine stark verzerrte Ansicht der Achsen. Aber die Einstellung restrict y to domain = -5:5in diesem Diagramm eliminiert einfach die großen Werte, entfernt die Asymptote und skaliert das Bild auch wieder auf ein proportionales Quadrat zurück.

Oder alternativ ein parametrisches Diagramm wie \addplot ({exp(x)},{exp(-x)});(eine lustige Art, dasselbe nur im ersten Quadranten zu zeichnen), das sich aufgrund der logarithmischen Verbindung zwischen den Werten im Diagramm und den Werten der Variablen nur schwer direkt anpassen lässt. Dafür domainsind sowohl die Standard- als auch die Standardachsengrößen ungeeignet; ich lasse es normalerweise domainso, wie es ist (was zu Zahlen führt, die in beiden Koordinaten zu groß sind) und setze restrict x to domaindannrestrict y to domain entsprechend ein, um das Bild schön zu trimmen. Das heißt nicht, dass es eine gute Idee ist,vollständigohne zu wissendomain , da diese PunkteSindberechnet...nur nicht verwendet.

Diese Filterschlüssel unterscheiden sich von den Min- und Max-Schlüsseln, da sie die herausgefilterten Werte tatsächlich ignorieren, anstatt sie einfach aus dem Bild herauszuschneiden. Dies ist wichtig, wenn diese Werte größer sind als TeX verarbeiten kann.

Schließlich gibt es samplesoder sample at, wobei letzteres sich gegenseitig ausschließt domainund sagt, wie viele oder sogargenaubei welchen Werten xWerte berechnet werden sollen. Dies kann eine Alternative zu den restrict to domainSchlüsseln sein, wenn Sie die Beispiele sorgfältig auswählen, um außergewöhnliche Eingaben zu vermeiden. Sie sind auch nützlich, um die Darstellung um schnell variierende Stellen im Diagramm herum anzupassen, die sonst ziemlich ungleichmäßig aussehen würden. Diese interagieren auch mit den restrict to domainSchlüsseln in dem Sinne, dass beispielsweise

\addplot[
  domain = -5:5,
  samples = 11,
  restrict x to domain = -1:1,
  restrict y to domain = -1:1
] ({exp(x)},{exp(-x)});

Es werden genau 11 Punkte ausgewertet, nämlich ({exp(-5)},{exp(5)})bis ({exp(5)},{exp(-5)}), aber nur diejenigen, deren beide Koordinaten im Intervall liegen, [-1,1]werden dargestellt. Leider ist der einzige Punkt mit dieser Eigenschaft ({exp(0)},{exp(0)}) = (1,1), sodass Ihr Diagramm ziemlich leer sein wird. Die nicht aufgezeichneten Punkte werden nicht einmal zum Verankern interpolierender Kurven verwendet! Ein Allheilmittel sind die Filtertasten also nicht.

Meine Bilder neigen dazu,alledieser Tasten, da sie jeweils die Zeichnung unterschiedlich beeinflussen.

verwandte Informationen