Ich verwende pgfplotstable, um aus einer externen Datei

1 2 3 1 3 2 ...

zu lesen.

Wie kann ich z.B. die komplette 0. und die komplette 1. Zeile auslesen, um daraus eine Matrix

alt text

zu erstellen?

Gibt es dafür eine einfache Methode?

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\begin{filecontents*}{permutationen.txt}
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
\end{filecontents*}
%\documentclass[]{article}
\documentclass[border=5mm, varwidth]{standalone}
\usepackage{amsmath}
\usepackage{pgfplotstable}
\begin{document}
% Liste einlesen
\pgfplotstableread{permutationen.txt}{\Perm}
%\pgfplotstableset{header=false}
\pgfplotstablegetrowsof{\Perm}
\pgfmathsetmacro{\rows}{\pgfplotsretval}
\pgfplotstablegetcolsof{\Perm}
\pgfmathsetmacro{\cols}{\pgfplotsretval}
Test: Zeilen: \rows, Spalten: \cols
\pgfplotstablegetelem{1}{2}\of{\Perm}\pgfplotsretval
SOLL:
$\begin{pmatrix} 1& 2 & 3\\ 1 & 3 & 2\end{pmatrix}$,
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 12 Mär '18, 09:55

cis's gravatar image

cis
9.6k104461491
Akzeptiert-Rate: 29%


\gobble braucht man um die Spaltenspezifikationen {ccc} zu schlucken, die für pmatrix nicht von Bedeutung sind.

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplotstable}
\newcommand\gobble[1]{}
\begin{document}
\pgfplotstableread{
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
}{\Perm}
$
\pgfplotstabletypeset[
every head row/.style={output empty row},
begin table=\begin{pmatrix}\gobble,
end table=\end{pmatrix},
skip rows between index={2}{99}
]{\Perm}
$
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 12 Mär '18, 11:34

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 12 Mär '18, 12:18

Puh... Warum skip rows between index={1}{99} ?

(12 Mär '18, 11:48) cis

Ohhh... Die Ausgabe ist aber nicht die richtige: Es zeigt einen komischen Header 0 1 2 an. Den versuche ich gerade wegzubekommen. Zum anderen versuche ich gerade zwei beliebige Zeilen, nicht notwendigerweise die ersten beiden, zu verwenden.

(12 Mär '18, 12:02) cis

Das erstere geht mal wieder nur mit Gewalt: every head row/.style={output empty row},

(12 Mär '18, 12:05) cis

Prinzipiell irgendwie so, aber die 0. Permutation (1 2 3 \\ 1 2 3) kriegt man so nicht hin.

% Permutationsmatrix \Nummer <Wert> anzeigen: \pgfmathtruncatemacro{\Nummer}{3} \pgfmathtruncatemacro{\NummerMinusEins}{\Nummer-1} \pgfmathtruncatemacro{\NummerPlusEins}{\Nummer+1} $\pgfplotstabletypeset[every head row/.style={output empty row}, begin table=\begin{pmatrix}\gobble, end table=\end{pmatrix}, skip rows between index={1}{\NummerMinusEins}, skip rows between index={\Nummer}{\rows}, ]{\Perm}$

(12 Mär '18, 12:10) cis

@cis Das mit den Permutationen wurde doch schon in https://texwelt.de/wissen/fragen/21671/pgfmath-permutationen-bestimmen gelöst.

(12 Mär '18, 12:19) Henri

@cis “Das erstere geht mal wieder nur mit Gewalt” Falsch, das ist sogar genau so dokumentiert.

(12 Mär '18, 12:20) Henri

Nene, das geht nicht so sehr darum, diese Permutationsmatrizen anzuzeigen, das ist nur ein Teil von etwas Umfangreicheren. Es geht vielmehr darum, wie ich zwei Zeilen davon auslesen kann, um diese weiterzuverarbeiten.

(12 Mär '18, 12:25) cis
Ergebnis 5 von 7 show 2 more comments
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:

×39

gestellte Frage: 12 Mär '18, 09:55

Frage wurde gesehen: 3,847 Mal

zuletzt geändert: 12 Mär '18, 12:25