Wie entlese ich einer pgfplotstable Werte, die von mehreren Parametern abhängen?
Hallo!
Mit dem Befehl 
    \def\getcell#1#2{
    \pgfplotstablegetelem{#1}{#2}\of{\SumBinVertTab}\pgfplotsretval%
    }
    $P(X \leq k) = B(n,p;k) F(n,p;k) = \getcell{0}{2}$
entlese ich z.B. den Wert `0.59049` aus folgedner Tabelle.
 - Wie kann ich den Befehl so anpassen, dass ich die Werte n, p, k eingeben muss und damit den richtigen Tabellenwert erhalte? Etwa `getSumBin{10}{0.25}{3}` `\getSumBin{10}{0.25}{3}` was dann  `0.7759` liefern sollte.
 - Am Rande: Die Option `precision=4` wird bei diesem Auslesen scheints ignoriert, es sollte jedoch schon der Wert ausgelesen werde, der auch in der Tabelle angezeigt wird.
- Es gibt bei der Tabelle noch ein **Problem**: Bei p >= 0.5 müsste 1-<Ablesewert> ausgegeben werden. 
 - Wie kann ich mit pgfplots-Rechnmitteln zwei ausgelesene Werte voneinader abziehen, um 
`$P(X = k) = P(X \leq k) - P(X \leq k-1) = B(n,p;k) F(n,p;k) - B(n,p;k-1) F(n,p;k-1)  = ???$` zu berechnen.
![alt text][1]
**Da längerer Code, hier wahlweise als Datei [SummierteBinomialverteilung.tex][2]**
    
    
    
    %\documentclass[varwidth, \documentclass[varwidth, border=10pt]{standalone}
    \documentclass[paper=a5]{scrbook}
    \usepackage[left=1cm, %\documentclass[paper=a5]{scrbook}
    %\usepackage[left=1cm, right=1cm]{geometry}
    
    \usepackage{selinput}
    \SelectInputMappings{adieresis={ä},  germandbls={ß}}
    \usepackage[ngerman]{babel}
    
    \usepackage{pgfplotstable}
    \usepackage{amsmath, amssymb, amsfonts}% \binom
    \usepackage{colortbl}% \rowcolor, \cellcolor
    %\usepackage{multirow}
    \usepackage{hhline}
    \usepackage{diagbox}  % \diagbox
    \usepackage{xcolor, booktabs}
    
    \usepackage{filecontents}
    
    \begin{document}
    \setlength\arrayrulewidth{0.905pt} % Um rules deutlich anzuzeigen
    
    \begin{filecontents}{n5.txt}
    5	0	0.59049	0.32768	0.23730	0.16807	0.07776	0.03125
    5	1	0.91854	0.73728	0.63281	0.52822	0.33696	0.18750
    5	2	0.99144	0.94208	0.89648	0.83692	0.68256	0.50000
    5	3	0.99954	0.99328	0.98438	0.96922	0.91296	0.81250
    5	4	0.99999	0.99968	0.99902	0.99757	0.98976	0.96875
    
    10	0	10 0 0.34868	0.10737	0.05631	0.02825	0.00605	0.00098
    10	1	10 1 0.73610	0.37581	0.24403	0.14931	0.04636	0.01074
    10	2	10 2 0.92981	0.67780	0.52559	0.38278	0.16729	0.05469
    10	3	10 3 0.98720	0.87913	0.77588	0.64961	0.38228	0.17188
    10 4 0.99837	0.96721	0.92187	0.84973	0.63310	0.37695
    10 5 0.99985	0.99363	0.98027	0.95265	0.83376	0.62305
    10 6 0.99999	0.99914	0.99649	0.98941	0.94524	0.82813
    10 7 1.00000	0.99992	0.99958	0.99841	0.98771	0.94531
    10 8 1.00000	1.00000	0.99997	0.99986	0.99832	0.98926
    10 9 1.00000	1.00000	1.00000	0.99999	0.99990	0.99902
    \end{filecontents}
    
    % ===============================
    % ===============================
    % Tabelle Summierte Binomial-Verteilung (SumBinVert)
    % ===============================
    % ===============================
    
    % Farben in Tabelle =====================
    \colorlet{FarbeOben}{pink}
    \colorlet{FarbeUnten}{lightgray!60}
    % ===============================
    
    % Allgemeine Formatierungen für Tabelle (Schrift etc.) festlegen
    \pgfplotstableset{
      foreach column append style/.code 2 args = {
        \pgfplotsforeachungrouped \col in {#1} {
          \pgfplotstableset{
            /pgfplots/table/columns/\col/.append style = {#2}
          }
        }
      }
    }
    % ===============================
    
    % Erste Zeile =========================
    \def\SumBinVertHinweisEinsen{%
    {\text{\tiny Nicht aufgeführte Werte sind (gerundet auf $4$ Dezimalstellen) gleich $1.0000$}}
    }%
    % --------------------------
    \def\SumBinVertFormel{%
    $\begin{matrix}
    \displaystyle 
    P(X\leq k) 
    = 
    \sum_{v=0}^k \sum\limits_{v=0}^k \binom{n}{v} p^v (1-p)^{n-v} = F(n,k;p) \\
    \SumBinVertHinweisEinsen
    \end{matrix}$
    }%
    % --------------------------
    \newcommand\ErsteZeile{%
    \hhline{~|-------|}  &
    \multicolumn{7}{c|}{\cellcolor{FarbeOben} \SumBinVertFormel} \\ 
    \hhline{~|-------|}
    \rowcolor{FarbeOben}
    }%
    % ==============================
    
    % Letzte Zeile ========================
    \def\SumBinVertHinweisGrauzeile{%
    {\tiny$
    \begin{array}{l}
    \text{Bei grau unterlegtem Eingang, d.h. $p \geq 0{,}5$: } %\\
    \text{$P(X\leq k) = 1 -\langle\texttt{Ablesewert}\rangle$}
    \end{array}
    $}
    }%
    % --------------------------
    \newcommand\LetzteZeile{%
    \hhline{~|-------|-|}
    \rowcolor{FarbeUnten} 
    \multicolumn{1}{c}{\cellcolor{white}} &  
    \cellcolor{white} &  
    $0{,}9$ & 
    $0{,}8$ & 
    $0{,}75$ & 
    $0{,}7$ & 
    $0{,}6$ &  
    $0{,}5$ & 
    \diagbox{$p$}{$k$}  \\ 
    % Anderes Design
    \hhline{~~|>{\arrayrulecolor{FarbeUnten}}------>{\arrayrulecolor{black}}|-|}
    %
       \rowcolor{FarbeUnten} 
    \multicolumn{1}{c}{\cellcolor{white}} &
    \multicolumn{1}{c|}{\cellcolor{white}} & 
    \multicolumn{7}{l|}{\SumBinVertHinweisGrauzeile} %& \cellcolor{FarbeUnten}  
    \\  
    \hhline{~~|-------|}
    }%
    % ==============================
    
    % 1en ausblenden ====================
    \pgfplotstableset{
      discard if equal/.style = {
        preproc cell content/.code={
          \ifdim##1pt=#1pt
\typeout{##1=#1?}% Zu Debugging-Zwecken
          \ifdim \dimexpr ##1pt-#1pt>-0.00005pt
            \ifdim \dimexpr ##1pt-#1pt<0.00005pt
              \typeout{Ja}% Zur Kontrolle
              \pgfkeyssetvalue{/pgfplots/table/@cell content}{}
            \fi
          \fi
        }
      },
    }
    % ==============================
    
    % Führende Nullen ausblenden =============
    \makeatletter
    \newif\ifpgfmathprintnumberskipzeroperiodandaddphantom
    \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@period#1.#2\pgfmathfloat@EOI{%
        \ifpgfmathprintnumberskipzeroperiodandaddphantom
          \pgfmathprintnumberskipzeroperiodtrue
        \fi
        \ifpgfmathprintnumberskipzeroperiod
            \def\pgfmathfloat@loc@TMPb{#1}%
            \ifx\pgfmathfloatparsenumber@tok@ZERO\pgfmathfloat@loc@TMPb
            \else
                \def\pgfmathfloat@loc@TMPc{-0}%
                \ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb
                    \def\pgfmathresult{-}%
                \else
                    \def\pgfmathfloat@loc@TMPc{+0}%
                    \ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb
                        \def\pgfmathresult{+}%
                    \else
                        \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI
                    \fi
                \fi
            \fi
        \else
            \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI
        \fi
        \ifpgfmathprintnumber@thousand@sep@in@fractional
            \let\pgfmathresultfractional\pgfutil@empty%
            \pgfmathprintnumber@thousand@sep@in@fractional#2MMMM\@@
        \else
            \def\pgfmathresultfractional{#2}%
        \fi
        \begingroup
        \toks0=\expandafter{\pgfmathresult}%
        \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP@MARK}%
        \ifpgfmathprintnumberskipzeroperiodandaddphantom
        \toks2=\expandafter{\expandafter\phantom\expandafter{\expandafter0\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP}}
        \else
        \toks2=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP}%
        \fi
        \toks3=\expandafter{\pgfmathresultfractional}%
        \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 \the\toks2 \the\toks3 }%
        \endgroup
        \let\pgfmathresult=\pgfmathfloat@glob@TMP
    }%
    \makeatother
    
    \pgfplotstableset{
      skip 0. for all but first/.style = {
        postproc cell content/.code={
          \ifnum\pgfplotstablecol>1
            \global\pgfmathprintnumberskipzeroperiodandaddphantomtrue
          \fi
        }
      },
    }
    % ==============================
    
    
    % Tabellen einlesen
    \pgfplotstableread{n5.txt}{\SumBinVertTab}	
    %\pgfplotstableread{n10.txt}{\nX}	% "n Römische Zahl"
    
    % Tabellen zusammenführen % ToDO
    %%\pgfplotstableread{dataA.dat}\dataA
    %%\pgfplotstableread{dataB.dat}\dataB
    %
    %\pgfplotstablecreatecol[copy column from table={\nX}{[index] 0}] {par1} {\SumBinVertTab}
    %\pgfplotstablecreatecol[copy column from table={\nX}{[index] 1}] {par2} {\SumBinVertTab}
    %
    %\pgfplotstabletypeset{\SumBinVertTab} \\
    % --------------------------
    % Tabelle setzen
    \pgfplotstabletypeset[
    % Allgemeine Einstellungen
    fixed zerofill, 
    fixed, 
    precision=4,
    % Null-Kommas Beseitigen
    %ignore chars={\.0}, 
Führende Nullen ausblenden (bis auf erste)
    skip 0. for all but first,
    % --------------------------
    % Erste Zeile definieren
    every head row/.style = {
    before row={\ErsteZeile},  
    after row=\hline
    },
    % --------------------------
    % Letzte Zeile definieren
    every last row/.style = { 
    after row={\LetzteZeile}, 
    }, 
    % --------------------------
    % Nullte nSpalte definieren
    create on use/nSpalte/.style = {%%
    precision=0,
    column type={|c},
    create col/assign/.code = {%
      \edef\nMethode{\ifnum \thisrow{1} = 0 \thisrow{0} \fi}
       \pgfkeyslet{/pgfplots/table/create col/next content}\nMethode
    },%
    },%%
    columns/nSpalte/.style = {%
    column name ={\cellcolor{white}$n$},
    precision=0,
    column type={c},
    },%
    % --------------------------
    % Erste k-Spalte definieren
    columns/1/.style = {
      column name={\diagbox{$k$}{$p$}},
      precision=0,
      column type={|>{\cellcolor{FarbeOben}\scriptsize}c|},
    },
    % --------------------------
    % Letzte kSymSpalte definieren
    create on use/kSymSpalte/.style={%
      create col/expr={\thisrow{0}-1-\thisrow{1}},
    },%
    columns/kSymSpalte/.style={%
      column name={\multicolumn1c{\cellcolor{white}}}, %$n-1-k$
      column type={|>{\cellcolor{FarbeUnten}\scriptsize}c|},
      precision=0
    },%
    % --------------------------
    % Übrige Spalten benenen
    columns/2/.style = {column name={$0{,}1$},discard if equal={1.0}},
    columns/3/.style = {column name={$0{,}2$},discard if equal={1.0}},
    columns/4/.style = {column name={$0{,}25$},discard if equal={1.0}},
    columns/5/.style = {column name={$0{,}3$},discard if equal={1.0}},
    columns/6/.style = {column name={$0{,}4$},discard if equal={1.0}},
    columns/7/.style = {column name={$0{,}5$},discard if equal={1.0}},
    % --------------------------
    % Einsen beseitigen
    %discard if equal={1.0}, % ToDo: Wie nur auf columns 1-6 anwenden?
    % --------------------------
    % "Null Komma" in Tabelle beseitigen
    % ToDo....
    % --------------------------
    % Allgemeine Formatierungen festlegen
     foreach column append style={nSpalte,2,3,4,5,6,7}{column type/.add={>{\scriptsize}}{}},
    % Angezeigte Spalten definieren
    columns={nSpalte,1,2,3,4,5,6,7,kSymSpalte} 
    ]{\SumBinVertTab}
    
    \bigskip
    
    
    
    \def\getcell#1#2{
    \pgfplotstablegetelem{#1}{#2}\of{\SumBinVertTab}\pgfplotsretval%
    }
    
    $P(X \leq k) = B(n,p;k) F(n,p;k) = \getcell{0}{2}$
    
    $P(X = k) = P(X \leq k) - P(X \leq k-1) = B(n,p;k) F(n,p;k) - B(n,p;k-1) F(n,p;k-1)  = ???$
    \end{document}
    
    
  [1]: http://texwelt.de/wissen/upfiles/55555555_23.png
  [2]: http://matheplanet.de/matheplanet/nuke/html/dl.php?id=1823&1453260934http://matheplanet.de/matheplanet/nuke/html/dl.php?id=1825&1453485532