Hallo zusammen,

folgender Code sollte Entropy der Binomialverteilung für n=1,..,5 plotten, tut es aber nicht. Wo ist das Problem?

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[scale=1]
% Axis
\node (1) at (0,6.5) {$H(x)$};
\node (2) at (7.5,0) {$p$};
\begin{axis}[
samples=100,
smooth,
domain=0.01:0.99,
]
\foreach \N in {1,...,5} {%
\addplot+ [mark = none] gnuplot[raw gnuplot] {%
set samples 100;
b(k, n, p) = n!/(k!*(n-k)!)*p**k*(1-p)**(n-k);
plot[0.01:0.99] sum [k=0:\N] -b(k,\N,x)*log2(b(k,\N,x))
};
\addlegendentryexpanded{$B_\N$}
}
\end{axis}
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Dieser Frage ist "Community Wiki" markiert.

gefragt 17 Feb '19, 22:36

Romaxx's gravatar image

Romaxx
112
Akzeptiert-Rate: 0%

bearbeitet 17 Feb '19, 23:34

stefan's gravatar image

stefan ♦♦
18.4k163148

Willkommen auf TeXwelt.de! Ich habe einmal den Code vervollständigt. Hier sollte man besser komplette, übersetzbare (kurze) Codes posten, damit man überhaupt testen kann. Sonst verbleibt als Antwortmöglichkeit sowas wie "pgfplots nicht geladen" oder "keine geeignete Dokumentklasse" weil die Präambel fehlt. Zum Problem: man muss mit Option shell-escape übersetzen, damit Gnuplot läuft. Hast Du das?

(17 Feb '19, 23:37) stefan ♦♦

Ich lese einfach mal die Fehlermeldung für dich

"test.pgf-plot.gnuplot", line 2: undefined function: log2
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Wie man sieht gibt es die Funktion log2 in gnuplot nicht. Man kann den Logarithmus zur Basis 2 aber ganz einfach mit Hilfe der Logarithmusregeln ausrechnen, log2(x) = log(x)/log(2).

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[scale=1]
% Axis
\node (1) at (0,6.5) {$H(x)$};
\node (2) at (7.5,0) {$p$};
\begin{axis}[
samples=100,
smooth,
domain=0.01:0.99,
]
\foreach \N in {1,...,5} {%
\addplot+ [mark = none] gnuplot[raw gnuplot] {%
set samples 100;
b(k, n, p) = n!/(k!*(n-k)!)*p**k*(1-p)**(n-k);
plot[0.01:0.99] sum [k=0:\N] -b(k,\N,x)*log(b(k,\N,x))/log(2)
};
\addlegendentryexpanded{$B_\N$}
}
\end{axis}
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 18 Feb '19, 03:40

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×731
×298
×28
×11

gestellte Frage: 17 Feb '19, 22:36

Frage wurde gesehen: 6,075 Mal

zuletzt geändert: 18 Feb '19, 03:40