Erstellen einer 6x6-Matrix mit bmatrix

Erstellen einer 6x6-Matrix mit bmatrix

Ich versuche, eine 6x6-Matrix mit dem folgenden Text zu erstellen:

\begin{gather}
\dfrac{d}{dt}
\begin{bmatrix}
    y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\begin{bmatrix}
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
    0 && 1 && 0 && 0 && 0 && 0 \\
\end{bmatrix}
\end{gather}

Und ich erhalte die folgende Fehlermeldung:

Die zusätzliche Ausrichtungsregisterkarte wurde in \cr geändert. \endtemplate \end{gather}.

Das Seltsame ist, dass der Code funktionierte, als ich ihn für 5x5 überprüfte.

Danke schön.

Antwort1

Das Problem besteht darin, dass in -ähnlichen Konstruktionen standardmäßig nur bis zu zehn Spalten unterstützt werden matrix. Die Anzahl kann jedoch erhöht werden mit

\setcounter{MaxMatrixCols}{20}

(zwanzig Spalten sollten ausreichen).

Wenn Sie jedoch einen größeren Abstand zwischen den Spalten wünschen, legen Sie ihn entsprechend fest und fügen Sie nicht Dummy-Spalten hinzu.

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation}
\frac{d}{dt}
\begin{bmatrix}
    y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\setlength{\arraycolsep}{2\arraycolsep}% this change is local
\begin{bmatrix}
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
\end{bmatrix}
\end{equation}

\begin{equation}
\frac{d}{dt}
\begin{bmatrix}
    y \\ \dot{y} \\ a_{M} \\ \lambda_{T} \\ \lambda_{D} \\ a_{T}
\end{bmatrix}
=
\begin{bmatrix}
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
    0 & 1 & 0 & 0 & 0 & 0 \\
\end{bmatrix}
\end{equation}

\end{document}

Mir wäre Letzteres viel lieber.

Bildbeschreibung hier eingeben

Antwort2

Die Eingabe hier ist eigentlich keine 6x6-Matrix, sondern eine 6x11-Matrix (Zahl og &+1). Im Grunde haben Sie aufgrund der viele leere Spalten &&.

Standardmäßig bmatrixund bei ähnlichen Umgebungen sind maximal 10 Spalten vorhanden (gesteuert durch den Zähler MaxMatrixCols). Sie erhalten also den Fehler, da mehr Spalten vorhanden sind, als in der Matrixumgebung definiert sind.

Einfache Lösung, ersetzen &&durch &.

Eine 5x5-Matrix in der von Ihnen hier beschriebenen Weise ist dasselbe wie eine 10x5-Matrix und liegt somit innerhalb der 10-Spalten-Begrenzung.

Wie David in einem Kommentar erwähnt, verwenden Sie es equation(*)für Einzeiler, da es über eine integrierte platzsparende Funktion verfügt, die andere Umgebungen nicht haben.

verwandte Informationen