分块矩阵,用空格分隔

分块矩阵,用空格分隔

我想编写如下所示的块矩阵块矩阵图像

我尝试过加下划线、分数和使用 __ 作为条目,制作三行,但效果并不好看。我希望矩阵内的水平线之间有间隙,如图所示。我该怎么做?

答案1

这是一种方法:

\documentclass[a4paper,journal]{IEEEtran}
\usepackage{amsmath}

\begin{document}
\[
\begin{bmatrix}
  \frac{I}{\mathrm{O}}\frac{\mathrm{O}}{\mathrm{O}}
\end{bmatrix}
\begin{bmatrix}
  \frac{x}{u}
\end{bmatrix} =
\begin{bmatrix}
  \frac{A}{C}\frac{B}{D}
\end{bmatrix}
\begin{bmatrix}
  \frac{x}{u}
\end{bmatrix} +
\begin{bmatrix}
  \frac{\mathrm{O}}{-y}
\end{bmatrix}
\]
%
\[
\left[
  \frac{I}{\mathrm{O}}\frac{\mathrm{O}}{\mathrm{O}}
\right]
\left[
  \frac{x}{u}
\right] =
\left[
  \frac{A}{C}\frac{B}{D}
\right]
\left[
  \frac{x}{u}
\right] +
\left[
  \frac{\mathrm{O}}{-y}
\right]
\]
\end{document}

在此处输入图片描述

除了动态变化的括号(\left[\right]),您还可以使用固定大小的括号(如提供的\Bigg[和)。\Bigg]amsmath

答案2

这是一个更“类似矩阵”的解决方案:

\documentclass{article}
\usepackage{amsmath,booktabs,xparse}

\ExplSyntaxOn
\DeclareExpandableDocumentCommand{\seps}{m}
 {
  \noalign{\seps_do_arg:n { #1 } }
  \tl_use:N \g_seps_list_tl
 }
\tl_new:N \g_seps_list_tl
\cs_new_protected:Npn \seps_do_arg:n #1
 {
  \tl_clear:N \g_seps_list_tl
  \clist_map_inline:nn { #1 }
   { \tl_gput_right:Nn \g_seps_list_tl { \cmidrule(lr){##1--##1} } }
 }
\ExplSyntaxOff


\begin{document}
\[
\begin{bmatrix}
I & \textrm{O} \\
\seps{1,2}
\textrm{O} & \textrm{O}
\end{bmatrix}
\begin{bmatrix}
x \\
\seps{1}
u
\end{bmatrix}
=
\begin{bmatrix}
A & B \\
\seps{1,2}
C & D
\end{bmatrix}
\begin{bmatrix}
x \\
\seps{1}
u
\end{bmatrix}
+
\begin{bmatrix}
\mathrm{O} \\
\seps{1}
-y
\end{bmatrix}
\]
\end{document}

您只需提供所需的分隔符列表。不幸的是,很难知道矩阵有多少列。

在此处输入图片描述

相关内容