我有一个由矩阵组成的长方程,我想将其拆分成两行。但是,当我使用拆分时,方程中的第一个项(第一个矩阵)消失了。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,empheq}
\usepackage{amssymb}
\begin{document}
\begin{equation*}
\begin{split}
\renewcommand\arraystretch{1.25}
\underbrace{
\begin{bmatrix}
x(k+1) \\
x(k+2) \\
x(k+3) \\
\vdots \\
x(k+N_p)
\end{bmatrix}}_\let\scriptstyle\textstyle
\substack{\overrightarrow{x(k+1)}}}&=\underbrace{
\begin{bmatrix}
A \\
A^2 \\
A^3 \\
\vdots \\
A^{N_p}
\end{bmatrix}}_\textstyle
\begin{array}{c}
F_x
\end{array}
}
& x(k)
+
\underbrace{
\begin{bmatrix}
B & 0 & 0 & \hdots & 0\\
AB & B & 0 & \hdots & 0\\
A^2B & AB & B & \hdots & 0\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
A^{N_p-1}B & A^{N_p-2}B & A^{N_p-3}B & \hdots & B
\end{bmatrix}}_\textstyle
\begin{array}{c}
H_x
\end{array}
}
&
\underbrace{
\begin{bmatrix}
u(k) \\
u(k+1) \\
u(k+2) \\
\vdots \\
u(k+N_p-1)
\end{bmatrix}}_\let\scriptstyle\textstyle
\substack{\overrightarrow{u(k)}}}
\\
&\qquad\underbrace{
\begin{bmatrix}
F & 0 & 0 & \hdots & 0\\
AF & F & 0 & \hdots & 0\\
A^2F & AF & F & \hdots & 0\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
A^{N_p-1}F & A^{N_p-2}F & A^{N_p-3}F & \hdots & F
\end{bmatrix}}_\textstyle
\begin{array}{c}
T
\end{array}
}
&
\underbrace{
\begin{bmatrix}
D(k) \\
D(k+1) \\
D(k+2) \\
\vdots \\
D(k+N_p-1)
\end{bmatrix}}_\let\scriptstyle\textstyle
\substack{\overrightarrow{D(k)}}}
+
\underbrace{
\begin{bmatrix}
I \\
I+A \\
I+A+A^2 \\
\vdots \\
I+A+A^2+\hdots+A^{N_p-1}
\end{bmatrix}}_\textstyle
\begin{array}{c}
F_x
\end{array}
}
x(k)
\end{split}
\end{equation*}
\end{document}
答案1
我会使用multline*
环境而不是嵌套的equation*
/split
环境。我还将大大简化许多指令中每个指令的第二个参数的结构\underbrace
。
\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry} % set paper size and margins suitably
\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc} % that's the default nowadays
\usepackage{amsmath,amssymb}
\usepackage{old-arrows} % optional -- for smaller arrowheads
\newcommand{\mystrut}{\vphantom{\overrightarrow{x(k+1)}}} % define a typographic strut
\begin{document}
\begin{multline*}
\renewcommand\arraystretch{1.25}
\underbrace{
\begin{bmatrix}
x(k+1) \\
x(k+2) \\
x(k+3) \\
\vdots \\
x(k+N_p)
\end{bmatrix}}_{\textstyle \overrightarrow{x(k+1)}}
=\underbrace{
\begin{bmatrix}
A \\
A^2 \\
A^3 \\
\vdots \\
A^{N_p}
\end{bmatrix}}_{\textstyle F_x\mystrut}
x(k)
+
\underbrace{
\begin{bmatrix}
B & 0 & 0 & \hdots & 0\\
AB & B & 0 & \hdots & 0\\
A^2B & AB & B & \hdots & 0\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
A^{N_p-1}B & A^{N_p-2}B & A^{N_p-3}B & \hdots & B
\end{bmatrix}}_{\textstyle H_x\mystrut}
\underbrace{
\begin{bmatrix}
u(k) \\
u(k+1) \\
u(k+2) \\
\vdots \\
u(k+N_p-1)
\end{bmatrix}}_{\textstyle \overrightarrow{u(k)}}
\\ % end of first row
+ % I think a "+" is needed here
\underbrace{
\begin{bmatrix}
F & 0 & 0 & \hdots & 0\\
AF & F & 0 & \hdots & 0\\
A^2F & AF & F & \hdots & 0\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
A^{N_p-1}F & A^{N_p-2}F & A^{N_p-3}F & \hdots & F
\end{bmatrix}}_{\textstyle T\mystrut}
\underbrace{
\begin{bmatrix}
D(k) \\
D(k+1) \\
D(k+2) \\
\vdots \\
D(k+N_p-1)
\end{bmatrix}}_{\textstyle \overrightarrow{D(k)}}
+
\underbrace{
\begin{bmatrix}
I \\
I+A \\
I+A+A^2 \\
\vdots \\
I+A+A^2+\hdots+A^{N_p-1}
\end{bmatrix}}_{\textstyle F_x\mystrut}
x(k)
\end{multline*}
\end{document}
答案2
错误主要出现在神秘的_\textstyle
或更糟糕的_\let\scriptstyle\textstyle
命令中,这些命令只会产生奇怪的错误。
我会采用一种不同的策略,虽然会占用更多的空间,但对读者来说更清晰。
我还尝试修复一些不一致之处:有两个不同的F_x
矩阵,并且x(k)
没有应该有的箭头。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,empheq}
\usepackage{amssymb}
\begin{document}
\begin{equation*}
\overrightarrow{x(k+1)}=
F_x \overrightarrow{x(k)}+
H_x\overrightarrow{u(k)}+
T\overrightarrow{D(k)}+
G_x\overrightarrow{x(k)}
\end{equation*}
where
\begin{equation*}
\overrightarrow{x(k)}=
\begin{bmatrix}
x(k) \\
x(k+1) \\
x(k+2) \\
\vdots \\
x(k+N_p-1)
\end{bmatrix}
\!,\;
\overrightarrow{u(k)}=
\begin{bmatrix}
u(k) \\
u(k+1) \\
u(k+2) \\
\vdots \\
u(k+N_p-1)
\end{bmatrix}
\!,\;
\overrightarrow{D(k)}=
\begin{bmatrix}
D(k) \\
D(k+1) \\
D(k+2) \\
\vdots \\
D(k+N_p-1)
\end{bmatrix}
\end{equation*}
and
\begin{align*}
F_x&=
\begin{bmatrix}
A \\
A^2 \\
A^3 \\
\vdots \\
A^{N_p}
\end{bmatrix}
\!,\quad
G_x=
\begin{bmatrix}
I \\
I+A \\
I+A+A^2 \\
\vdots \\
I+A+A^2+\dots+A^{N_p-1}
\end{bmatrix}
\!,
\\[1ex]
H_x&=
\begin{bmatrix}
B & 0 & 0 & \dots & 0\\
AB & B & 0 & \dots & 0\\
A^2B & AB & B & \dots & 0\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
A^{N_p-1}B & A^{N_p-2}B & A^{N_p-3}B & \dots & B
\end{bmatrix}
\!,
\\[1ex]
T&=
\begin{bmatrix}
F & 0 & 0 & \dots & 0\\
AF & F & 0 & \dots & 0\\
A^2F & AF & F & \dots & 0\\
\vdots & \vdots & \vdots & \ddots & \vdots \\
A^{N_p-1}F & A^{N_p-2}F & A^{N_p-3}F & \dots & F
\end{bmatrix}
\!.
\end{align*}
\end{document}