Ich versuche diese Funktion in ein Graph einzubinden. Allerdings gelingt es mir nicht mal, die Funktion ohne alles zu generieren:

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage[normalem]{ulem} 
\usepackage{tikz} 
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}

\begin{tikzpicture}
        \begin{axis}[grid=major,ymax=2500,xmax=2500]
          \addplot[no markers, blue, restrict y to domain=0:1714, samples=30000] { 2412 - 2.795e-10*(x^4)};
        \end{axis}
\end{tikzpicture}

\end{document}

Kann es sein, dass es mit der absurd kleinen Zahl 2.795e-10 zu tun hat? Wie kann ich die Funktion dennoch plotten? -> funktioniert! Siehe unten

EDIT GnuPLOT läuft nicht. -> funktioniert nicht.

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage[normalem]{ulem} 
\usepackage{tikz} 
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}

\begin{tikzpicture}
        \begin{axis}[grid=major,ymax=2450,xmax=2500]
          \addplot[no markers, blue,restrict y to domain=0:1714, 
            samples=30000] gnuplot [domain=0:2500] { 2412 - 2.795e-10*(x^4)};
        \end{axis}
\end{tikzpicture}

\end{document}

Läuft nicht:

Öffne in Overleaf
! Package pgfplots Error: Sorry, the gnuplot-result file 'MWE2funktion.pgf-plot
.table' could not be found. Maybe you need to enable the shell-escape feature?

Shell-escape ist aber drin:

alt text

Und GNUplot befindet sich im Pfad:

alt text

gefragt 15 Mär, 17:05

SF6's gravatar image

SF6
905
Akzeptiert: 34%

bearbeitet 16 Mär, 05:07

Bitte nicht Fragen vermischen. Wenn du ein Problem mit dem Aufruf von gnuplot aus pgfplots heraus hast, dann stelle dazu eine neue Frage (ggf. mit Link auf diese hier). Mach aber auf jeden Fall ein vollständiges Update deiner TeX-Distribution, bevor du eine solche Frage stellst. Gerade für die Kombination von shell escapes mit lualatex hat sich einiges geändert, so dass die Versionen von LuaTeX, LaTeX und Paketen wie pgfplots unbedingt zusammen passen müssen, damit es funktioniert.

(16 Mär, 03:58) Ijon Tichy

Und bitte beim Einbinden von Abbildungen an Leute denken, die nicht an einem Monitor mit riesiger Auflösung sitzen. Bei mir zerstört die Darstellung des Bildes komplett die Seite. Selbst Kommentare kann ich nur noch mit Tricks eingeben.

(16 Mär, 03:59) Ijon Tichy

Ok, danke. Gilt das auch, wenn ich jetzt mit einer anderen Funktion Probleme habe? Ist das auch eine neue Frage. Will ja nicht die Seite vollspammen ;) (Sonst editier ich das raus oben, das Bild habe ich angepasst).

(16 Mär, 04:03) SF6

"Dimension too large"-Probleme mit pgfplots hatten wir bereits. Such mal danach. Ansonsten ist die Anzahl der Fragen hier grundsätzlich kein Problem – solange die Qualität stimmt. ;-) Übersicht ist hier IMHO sehr wichtig. Deshalb sind eng abgegrenzte Einzelprobleme besser als der Versuch immer neue Frage in eine vorhandene Frage einzufügen. So verstehe jedenfalls ich die Veranstaltung hier. Ich bin aber auch nur ein kleines Licht.

(16 Mär, 04:06) Ijon Tichy

"Dimension too large"-Probleme mit pgfplots hatten wir bereits.

Sogar mehrfach (wobei ich absichtlich nicht auf pgfplots beschränkt habe, sondern pgf einschließe), u. a.: http://texwelt.de/wissen/fragen/2364 und http://texwelt.de/wissen/fragen/19682 und http://texwelt.de/wissen/fragen/12779.

(16 Mär, 04:15) saputello

Ich vermute stark, dass es in der Tat am Wertebereich liegt. Um festzustellen, welche Werte TeX in diesem Fall produziert, könnte man versuchen, diese in einer Schleife mit pgfmath zu berechnen und auszugeben. Ich habe mich stattdessen darauf konzentriert eine Lösung zu finden.

pgfplots bietet für all die Fälle, in denen die seine eigenen Rechenfähigkeiten an die Grenzen stoßen, die Möglichkeit die Berechnungen beispielsweise mit gnuplot extern auszuführen. Dazu müssen shell escapes aktiviert sein. Da Du laut Originalbeispiel wohl x-Werte bis 2500 haben willst, habe ich dabei für gnuplot Option domain=0:2500 angegeben:

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}

\begin{tikzpicture}
        \begin{axis}[grid=major,ymax=2450,xmax=2500]
          \addplot[no markers, blue,restrict y to domain=0:1714, 
            samples=30000] gnuplot [domain=0:2500] { 2412 - 2.795e-10*(x^4)};
        \end{axis}
\end{tikzpicture}

\end{document}

Und erhalte mit pdflatex:

erster Versuch mit gnuplot und pdflatex

Wie man am Ergebnis sieht, könnte man den Bereich weiter einschränken. Außerdem ist die Anzahl der samples in dem Fall auch fast absurd hoch. Allerdings habe ich stattdessen die Option restrict y to domain entfernt und bin auf lualatex umgestiegen. Mit

Öffne in Overleaf
% Funktioniert nicht in Overleaf, da das nicht automatisch lualatex verwendet
\documentclass{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}

\begin{tikzpicture}
        \begin{axis}[grid=major,ymax=2450,xmax=2500]
          \addplot[no markers, blue,
            samples=30000] gnuplot [domain=0:2500] { 2412 - 2.795e-10*(x^4)};
        \end{axis}
\end{tikzpicture}

\end{document}

erhalte ich dann deutlich besseren Plot:

erster Versuch mit gnuplot und lualatex

Ein vergleichbares Ergebnis erhält man aber auch mit pdflatex, wenn man den extrem hohen samples-Wert korrigiert:

Öffne in Overleaf
% Funktioniert auch in Overleaf mit pdflatex
\documentclass{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}

\begin{tikzpicture}
        \begin{axis}[grid=major,ymax=2450,xmax=2500]
          \addplot[no markers, blue,
            samples=100] gnuplot [domain=0:2500] { 2412 - 2.795e-10*(x^4)};
        \end{axis}
\end{tikzpicture}

\end{document}

Noch besser wird es IMHO, wenn man auch ymax=2450 und xmax=2500 weglässt und das ganze einfach pgfplots überlässt:

weitere Verbesserung

Die für das Problem überflüssigen Pakete habe ich übrigens in allen Beispielen weggelassen.

Permanenter link

beantwortet 16 Mär, 03:14

Ijon%20Tichy's gravatar image

Ijon Tichy
5.0k618

bearbeitet 16 Mär, 03:25

Danke, habe allerdings Probleme das nachzustellen: Er findet bei mir gnuplot nicht.

Für das VM habe ich texworks verwendet (sonst texmaker). Aber da will ich nur ungern was anfassen.

Ich habe oben das Problem erweitert.

(16 Mär, 03:36) SF6

... und noch mal ein Kommentar. Der Code mit pgfplot läuft sauber durch. Dann waren es also die Samples?

Danke. Dann werde ich wohl GNUPlot nicht brauchen.

(16 Mär, 03:51) SF6
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×186

Frage gestellt: 15 Mär, 17:05

Frage wurde angeschaut: 122 Mal

Zuletzt aktualisiert: 16 Mär, 05:07