矩阵内矩阵,仅矩阵名称

矩阵内矩阵,仅矩阵名称

我想绘制一个矩阵,在这个例子中是一个 7x7 矩阵,外部有数字,但核心是 3x3 矩阵,如下面的手绘图所示。我不想写出内部的 3x3 矩阵,我只想写出它的名称 (A_c - B_c * K_c)。

我知道还有许多其他问题询问如何在矩阵内绘制矩阵,但我找不到一个不需要写出矩阵内部实际内容的问题。

谢谢!

在此处输入图片描述

答案1

我建议的解决方案是blkarray

\documentclass{article}
\usepackage{blkarray, bigstrut}

\begin{document}

\[ 
    \left[\begin{blockarray}{ccccccc}
          0 & 0 & 0 & 0 & 0 & 1 & 0 \bigstrut[t]\\
           0 & 0 & 0 & 0 & 0 & 0 & 1 \\
    \begin{block}{cc[ccc]cc}
        0 & 0 & & & & 0 & 0 \\
        0 & 0 & \BAmulticolumn{3}{c}{A_c-B_cK_c} & 0 & 0 \\
        0 & 0 & & & & 0 & 0 \\
    \end{block}
        0 & 0 & 1 & 2 & 3 & 0 & 0 \\
        0 & 0 & 4 & 5 & 6 & 0 & 0 \\[-2ex]
    \end{blockarray}\right]
        \]%

\end{document} 

在此处输入图片描述

答案2

与。{bNiceMatrix}nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

$\begin{bNiceMatrix}[columns-width=4mm]
0 & 0 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & 0 & \Block{3-3}{A_c-B_cK_c}
          &   &   & 0 & 0 \\
0 & 0 &   &   &   & 0 & 0 \\
0 & 0 &   &   &   & 0 & 0 \\
0 & 0 & 1 & 2 & 3 & 0 & 0 \\
0 & 0 & 4 & 5 & 6 & 0 & 0 \\
\CodeAfter
  \SubMatrix[{3-3}{5-5}]
\end{bNiceMatrix}$

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

答案3

一个想法是“猜测”适当数量的额外列间空间以容纳相当大的A_c-B_cK_c。我尝试了一下,发现 3pt 适合标准字体和 10pt 大小。

\documentclass{article}
\usepackage{amsmath,mathtools}

\begin{document}

\[
\addtolength{\arraycolsep}{3pt}
\begin{bmatrix}
0 & 0 & \begin{matrix} 0 & 0 & 0 \end{matrix} & 1 & 0 \\
0 & 0 & \begin{matrix} 0 & 0 & 0 \end{matrix} & 0 & 1 \\
\begin{matrix} 0 \\ 0 \\ 0 \end{matrix} &
\begin{matrix} 0 \\ 0 \\ 0 \end{matrix} &
\hidewidth\begin{bmatrix}
\\
A_c-B_cK_c \\
\\
\end{bmatrix}\hidewidth &
\begin{matrix} 0 \\ 0 \\ 0 \end{matrix} &
\begin{matrix} 0 \\ 0 \\ 0 \end{matrix} \\
0 & 0 & \begin{matrix} 1 & 2 & 3 \end{matrix} & 0 & 0 \\
0 & 0 & \begin{matrix} 4 & 5 & 6 \end{matrix} & 0 & 0 \\
\end{bmatrix}
\]

\end{document}

\hidewidth任一侧,就间距而言,中心块都是“不可见的”,但仍然是打印的。

在此处输入图片描述

相关内容