如何以所需的形式写出矩阵?

如何以所需的形式写出矩阵?

我知道如何编写分块矩阵。它的编写方式如下

\[
Q=
\left[
\begin{array}{c|c}
{\{A\}}_{l\times l} & 0} \\
\hline
0} & B }
\end{array}
\right]
\]

但是我想在矩阵中添加一行和一列。也就是说我想像这样写:

行:1 1 1 1 1 1 1 1 1 1 1 1
列:
1
1
1
1
1
1
1
1
1

然后在间隙中我想添加我的块矩阵。

我正在添加我想要的图像。有人能帮忙吗?

在此处输入图片描述

答案1

人们可以简单地使用array一个小技巧来让块上的字母变得更大。

\documentclass{article}
\usepackage{amsmath}

\newcommand{\Block}[2]{%
  \makebox[0pt]{\smash{$\mbox{\LARGE$#1$}_{#2}$}}%
}

\begin{document}

\[
Q=\left[
\begin{array}{@{}cccc|ccc@{}}
1      & 1 & \dots                & \multicolumn{1}{c}{1} & 1 & \dots       & 1 \\
1      &   &                      &                       &   &             &   \\
\vdots &   & \Block{A}{l\times l} &                       &   & \Block{0}{} &   \\
1      &   &                      &                       &   &             &   \\
\cline{2-7}
1      &   &                      &                       &   &             &   \\
\vdots &   & \Block{0}{}          &                       &   & \Block{B}{} &   \\
1      &   &                      &                       &   &             &
\end{array}
\right]
\]

\end{document}

在此处输入图片描述

答案2

您始终可以将一个数组放入另一个数组中,或者使用\multicols\multirows(多行包,返回文本模式)。现在,扩展单元格以适应空间更加困难。

\documentclass{standalone}
\usepackage{amsmath}
\usepackage{multirow}
\begin{document}
$\begin{bmatrix}
1 & 1 & 1 & 1 & \cdots & 1 \\
1 & \multicolumn{5}{c}{\multirow{5}{*}{$\begin{array}{c|c}
 {A}_{l\times l} & 0 \\
 \hline
 0 & B
 \end{array}$}}\\
1 \\
1 \\
\vdots \\
1 
\end{bmatrix}$
\end{document}

演示


此解决方案与外部矩阵对齐。它使用\raisebox而不是\multirow(偏移距离被伪造)。

\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
$\left[ \begin{array}{cccccc}
1 & 1 & 1 & 1 & \cdots & 1 \\
1 & \multicolumn{3}{c|}{} \\
1 & \multicolumn{3}{c|}{A_{l\times l}} & \multicolumn{2}{c}{0} \\
1 & \multicolumn{3}{c|}{} \\
\cline{2-6}
\vdots & \multicolumn{3}{c|}{\raisebox{-1ex}[0pt][0pt]{$0$}} & \multicolumn{2}{c}{\raisebox{-1ex}[0pt][0pt]{$B$}} \\
1 & \multicolumn{3}{c|}{} 
\end{array}\right]$
\end{document}

第二个演示

答案3

pstricks用于垂直线和\booktabs水平线的解决方案  :

\documentclass{article}
\usepackage{mathtools}
\usepackage{multirow, blkarray, delarray}
\usepackage{booktabs}
\usepackage{pst-node, auto-pst-pdf}

\begin{document}

\begin{postscript}
\[ \begin{bmatrix}
1 & 1 & 1 & 1 \pnode{A} & 1 & \cdots & 1 \\
1 & & & \\
1 & & \mathclap{A} \\[-1ex]
\vdots & & & & & & \\[-1.5ex]
\vdots \\[-2.5ex]
 \cmidrule(r){2-7}
 \vdots \\[-1.5ex]
 \vdots & & & & \multicolumn{3}{c}{\raisebox{1.5ex}{$ B $}}\\
1 & & & \phantom{1}\pnode{B}
\end{bmatrix} \]
\pcline[offset=\arraycolsep, linewidth=0.4pt]{-}(A)(B)
\end{postscript}

\end{document} 

在此处输入图片描述

相关内容