Ich würde gerne eine Funktion zeichnen lassen und habe folgenden Code in LaTeX, der leider nicht funktioniert. Ich sehe meinen Fehler nicht =(
Hat jemand eine Idee woran es liegen könnte?

Ich hatte zunächst ohne \pgfmathdeclarefunction gearbeitet und die Funktionsgleichung direkt bei \addplot hinzugefügt, hat auch bei anderen Funktionen gut funktioniert, mit der leider nicht.

Außerdem wird mir auf der y-Achse statt 0,008 8*10^(-2) angezeigt, was ich auch nicht möchte. Dachte das Problem löst sich mit \ytick() aber die Schreibweise wird dadurch nicht geändert...

Öffne in Overleaf
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\begin{document}

\pgfmathdeclarefunction{funktion1}{0}{\pgfmathparse{0.05*(0.1*x)^{-0.5}*exp(-(0.1*x)^{0.5}) }}

\begin{tikzpicture}[baseline=(current axis.south)]
\begin{axis}[
    width=4cm,
    height=8cm,
    axis lines=left,
    xmax=40,
    xmin=0,
    ymin=0,
    ymax=0.12,
    xlabel={$t$},
    ylabel={$f(t)$},
    y label style={at={(current axis.above origin)},rotate=270}
    ]
    \addplot [domain=0:35, thick, red] {funktion1};
\end{axis}
\end{tikzpicture}
\end{document}

gefragt 24 Jul '17, 18:32

lalaland's gravatar image

lalaland
119568
Akzeptiert-Rate: 0%

bearbeitet 24 Jul '17, 22:21

saputello's gravatar image

saputello
11.1k174365

1

Bitte schau Dir einmal an, wie das mit dem Markdown (einen alternativen Link findest Du über das Fragezeichen rechts oben in der Toolbar über dem Eingabefeld für Fragen oder Antworten) hier funktioniert. Ohne korrektes Markdown gibt es beispielsweise den automatisch eingefügten Overleaf-Link nicht und Backslashs in Inline-Code werden unterschlagen.

(24 Jul '17, 22:19) saputello

Ersetze in der Funktionsgleichung die geschweiften Klammern um die Exponenten durch runde:

Öffne in Overleaf
\pgfmathdeclarefunction{funktion1}{0}
  {\pgfmathparse{ 0.05*(0.1*x)^(-0.5)*exp(-(0.1*x)^(0.5)) }}

und ändere domain für den Plot so, dass er die Polstelle nicht mehr enthält:

Öffne in Overleaf
domain=0.5:35

Eventuell muss auch noch samples etwas erhöht werden.

Die gewünschte Ausgabe der Zahlen an den y-Ticks erhälst Du mit

Öffne in Overleaf
yticklabel style={/pgf/number format/.cd,fixed,fixed zerofill,precision=2}

Außerdem solltest Du unbedingt direkt nach dem Laden von pgfplots einen Wert für compat setzen. Siehe dazu Was bedeutet die Kompatibilitätsangabe "compat=..." bet pgfplots?

Dann kannst Du die Achsenbeschriftungen mit

Öffne in Overleaf
x label style={at={(xticklabel cs:1)}},
y label style={at={(yticklabel cs:1)},rotate=270},

positionieren.

alt text

Code:

Öffne in Overleaf
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}% aktuell ist 1.15
\begin{document}

\pgfmathdeclarefunction{funktion1}{0}
  {\pgfmathparse{ 0.05*(0.1*x)^(-0.5)*exp(-(0.1*x)^(0.5)) }}

\begin{tikzpicture}[baseline=(current axis.south)]
\begin{axis}[
    width=4cm,
    height=8cm,
    axis lines=left,
    xmax=40,
    xmin=0,
    ymin=0,
    ymax=0.12,
    xlabel={$t$},
    ylabel={$f(t)$},
    x label style={at={(xticklabel cs:1)}},
    y label style={at={(yticklabel cs:1)},rotate=270},
    yticklabel style={/pgf/number format/.cd,fixed,fixed zerofill,precision=2}
  ]
  \addplot [domain=0.5:35, samples=50, thick, red] {funktion1};% <- domain geändert
\end{axis}
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 24 Jul '17, 23:15

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 25 Jul '17, 12:54

-1

Viiielen vielen Dank esdd!!!

Eine einfache Lösung für mein großes Problem!

(25 Jul '17, 09:34) lalaland

@lalaland Ich habe Deine "Antwort" in einen Kommentar umgewandelt. Nach drei Jahren Mitgliedschaft wird es langsam Zeit, Dich ein wenig mit den Gepflogenheiten hier vertraut zu machen. Hier sind Antworten stets "echte" Antworten, keine Gespräche, sondern Lösungen. Das verbessert die Übersicht erheblich für die Archivierung der Lösungen. Ungewohnt und anders als in Webforen, doch innovativ und nutzbarer. Bemerkungen gern wie hier als Kommentare.

(25 Jul '17, 09:47) saputello

Sorry, war lange nicht aktiv! Merke ich mir.

(25 Jul '17, 10:16) lalaland

Die Kurve lässt sich jetzt zwar zeichnen, sieht aber anders aus als sie sein sollte.

(25 Jul '17, 10:21) lalaland

Das Problem habe ich gelöst, indem ich die Stichprobengöße erhöht habe!

(25 Jul '17, 10:40) lalaland

Da die Funktion eine Polstelle enthält, muss domain so gewählt werden, dass diese nicht darin enthalten ist. Ich habe meine Antwort entsprechend angepasst. Diesmal habe ich Deine "Antworten" in Kommentare umgewandelt.

(25 Jul '17, 12:56) esdd
Ergebnis 5 von 6 show 1 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×298
×5

gestellte Frage: 24 Jul '17, 18:32

Frage wurde gesehen: 7,494 Mal

zuletzt geändert: 25 Jul '17, 13:09