我想说明两个矩阵的结构,但不幸的是它们很快就变得难以阅读。这是因为其条目的表达式随着每一行而增长。
该方程如下所示:
MWE 是:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{multline}
\underbracket[0pt][0pt]{%
\begin{pmatrix}
\mathbf{x}(0) \\
\mathbf{x}(1) \\
\mathbf{x}(2) \\
\vdots \\
\mathbf{x}(N)
\end{pmatrix}
}_{\mathbf{X}}
=
\underbracket[0pt][0pt]{%
\begin{bmatrix}
\eyezero & & & & \\
& A_0 & & & \\
& & A_1A_0 & & \\
& & & \ddots & \\
& & & & A_{N-1}A_{N-2}\cdots A_0
\end{bmatrix}
}_{S_x}
\underbracket[0pt][0pt]{%
\begin{pmatrix}
\mathbf{x}_0 \\
\mathbf{x}_0 \\
\mathbf{x}_0 \\
\vdots \\
\mathbf{x}_0
\end{pmatrix}
}_{\mathbf{X}_0} \cdots \\*
\hspace*{6em}
\cdots+
\underbracket[0pt][0pt]{%
\begin{bmatrix*}[r]
\zermzero & & & & \\
B_0 & & & & \\
A_1 B_0 & B_{1} & & & \\
A_2 A_1 B_0 & A_{2} B_{1} & B_{3} & & \\
\vdots & \vdots & \vdots & \ddots & \\
A_{N-1}A_{N-2} \cdots A_{1} B_{0} & \cdots & \cdots & \cdots & B_{N-1} \\
\end{bmatrix*}
}_{S_u}
\underbracket[0pt][0pt]{%
\begin{pmatrix}
\mathbf{u}(0) \\
\mathbf{u}(1) \\
\mathbf{u}(2) \\
\vdots \\
\mathbf{u}(N-1)
\end{pmatrix}
}_{\mathbf{U}}
\end{multline}
\end{document}
您知道如何利用 LaTeX 提供的工具来提高该方程的可读性吗?
答案1
更新:我搞错了矩阵结构,我修改了代码和图形,我认为现在是正确的。
一个想法是使用 TikZ 排版这些矩阵,并使用其绘图功能以图形方式突出显示结构。例如,对于第一个矩阵:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{equation*}
\begin{pmatrix} x(0)
\\ x(1)
\\ x(2)
\\ \vdots
\\ x(N)
\end{pmatrix} = \vcenter{\hbox{\tikz[]{
\matrix[matrix of math nodes, ampersand replacement=\&,
left delimiter={[}, right delimiter={]}, row sep=0pt,
nodes={inner sep=2pt}] (M) {
I \& \& \& \& \& \\
\& A_0 \& \& \& \& \\
\& \& A_1 A_0 \& \& \& \\
\& \& \& \ddots \& \& \\
\& \& \& \& A_{N-1} A_{N-2} \cdots A0 \\
};
\fill[orange, opacity=0.2, rounded corners]
(M-1-1.north west) -- (M-1-1.north east) -- (M-5-5.north east)
--(M-5-5.south east) -- (M-5-5.south west) -- (M-1-1.south west)
--cycle;
}}} \begin{pmatrix} x(0)
\\ x(0)
\\ x(0)
\\ \vdots
\\ x(0)
\end{pmatrix} \cdots
\end{equation*}
\end{document}
给出:
第二个矩阵的一种可能性:
\begin{equation*}
\cdots + \vcenter{\hbox{\tikz[]{
\matrix[matrix of math nodes, ampersand replacement=\&,
left delimiter={[}, right delimiter={]}, row sep=0pt,
nodes={inner sep=2pt},
column 1/.style={minimum width=9em},
column 2/.style={minimum width=4em},
column 3/.style={minimum width=4em},
column sep=2pt,
] (M) {
0 \& \& \& \& \\
B_0 \& \& \& \& \\
A_1B_0 \& B_1 \& \& \& \\
A_2A_1B_0 \& A_2B_1 \& B_3 \& \& \\
\vdots \& \vdots \& \vdots \& \ddots \& \\
A_{N-1} A_{N-2} \cdots A_1B_0 \& \cdots \& \cdots \& \cdots \& B_{N-1} \\
};
\fill[orange, opacity=0.2, rounded corners]
(M-1-1.north west) rectangle (M-6-1.south east);
\fill[orange, opacity=0.2, rounded corners]
(M-3-2.north west) rectangle (M-6-2.south east);
\fill[orange, opacity=0.2, rounded corners]
(M-4-3.north west) rectangle (M-6-3.south east);
\draw[line cap=round, draw opacity=0.2, yellow!70!green, line width=3ex, shorten >=-1ex, shorten <=-1ex]
(M-2-1.center) to[bend left=15] (M-6-5.center);
}}} \begin{pmatrix} u(0)
\\ u(1)
\\ u(2)
\\ \vdots
\\ u(N-1)
\end{pmatrix}
\end{equation*}
给出:
更新对于第二个矩阵,采用不同的方法:
\begin{equation*}
\cdots + \vcenter{\hbox{\tikz[]{
\matrix[matrix of nodes, ampersand replacement=\&,
left delimiter={[}, right delimiter={]}, row sep=0pt,
nodes={inner sep=2pt, align=right},
column 1/.style={text width=9em},
column 2/.style={text width=4em},
column 3/.style={text width=4em},
row 6/.style={minimum height=3ex},
column sep=2pt,
] (M) {
$0$ \\
$B_0$ \\
$A_1B_0$ \& $B_1$ \\
$A_2A_1B_0$ \& $A_2B_1$ \& $B_3$ \\
$\vdots$ \& $\vdots$ \& $\vdots$ \& $\ddots$ \\
$A_{N-1} A_{N-2} \cdots A_1B_0$ \& $\cdots$ \& $\cdots$ \& $\cdots$ \& $B_{N-1}$ \\
};
\fill[orange, opacity=0.2, rounded corners]
(M-1-1.north west) rectangle (M-6-1.south east);
\fill[orange, opacity=0.2, rounded corners]
(M-3-2.north west) rectangle (M-6-2.south east);
\fill[orange, opacity=0.2, rounded corners]
(M-4-3.north west) rectangle (M-6-3.south east);
\fill[orange, opacity=0.2, rounded corners]
(M-6-5.north west) rectangle (M-6-5.south east);
}}} \begin{pmatrix} u(0)
\\ u(1)
\\ u(2)
\\ \vdots
\\ u(N-1)
\end{pmatrix}
\end{equation*}
给出:
答案2
您可以尝试的一件事是将矩阵结构拆分为不同的方程环境。
您还可以省略除最后一个方程式之外的所有方程式环境中的编号,这样更容易理解各个段只是一个方程式的一部分。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{pmatrix} x(0)
\\ x(1)
\\ x(2)
\\ \vdots
\\ x(N)
\end{pmatrix} = \begin{bmatrix}
I & & & & & & & \\
& A_0& & & & & & \\
& & A_1 A_0 & & & & & \\
& & & \ddots & & & & \\
& & & & A_{N-1} A_{N-2} & \cdots & A0
\end{bmatrix} \begin{pmatrix} x(0)
\\ x(0)
\\ x(0)
\\ \vdots
\\ x(0)
\end{pmatrix} \cdots
\end{equation*}
\begin{equation*}
\cdots + \begin{bmatrix}
& & 0 & & & & \\
& & B_0 & & & & \\
& & A_1B_0 & B_1 & & & \\
& & A_2A_1B_0 & A_2B_1 & B_3 & & \\
& & \vdots & \vdots & \vdots & \ddots & \\
A_{N-1} A_{N-2} & \cdots & A_1B_0 & \cdots & \cdots & \cdots & B_{N-1}
\end{bmatrix} \begin{pmatrix} u(0)
\\ u(1)
\\ u(2)
\\ \vdots
\\ u(N-1)
\end{pmatrix}
\end{equation*}
\end{document}
从视觉上看,它与您的 WE 类似,但现在已分段:
此外,如果您想在文本后面引用矩阵结构的特定部分,您可以向方程环境添加标签:
\begin{equation*}\label{part1}
答案3
这也许不是你想要的,但我宁愿引入一个符号来缩短矩阵条目。例如定义
\bar{A}_i^j=\prod_{k=i}^j A_k
允许几乎有恒定宽度的列。另外,我无法猜测 $S_u$ 中 $A_2 B_1$ 和 $B_3$(此处 $B_2$ 写错了?)下方的点实际上包含什么。