如何在乳胶中写入具有维度的矩阵?

如何在乳胶中写入具有维度的矩阵?

我刚刚开始使用 latex,在互联网的帮助下,我弄清楚了如何自己做很多事情,但现在我陷入了困境。我该如何写出你们在图片中看到的东西? 这就是我想要得到的

谢谢您的帮助!!!

答案1

从最简单的角度来看,这可能是最简单的方法。

\documentclass{article}
\usepackage{amsmath} 
\begin{document}
\begin{equation}
\underset{n\times 1}{\mathrm{Y}} =  \underset{n\times p}{X} \times 
\underset{p\times 1}{\theta} + \underset{n\times 1}{\varepsilon}
\end{equation}
\end{document}

在此处输入图片描述

正如 egreg 指出的那样,加入矩阵维度\scriptscriptstyle可能会带来更好的外观。这可以添加到上述解决方案的每个下划线中(或者,正如他指出的那样,通过创建一个辅助宏),或者可以尝试这种替代stackengine方法,这可以增加对下划线深度的控制。

\documentclass{article}
\usepackage{stackengine} 
\stackMath
\begin{document}
\begin{equation}
\def\sss{\scriptscriptstyle}
\setstackgap{L}{8pt}
\def\stacktype{L}
\stackunder{\mathrm{Y}}{\sss n\times 1} =  \stackunder{X}{\sss n\times p} \times 
\stackunder{\theta}{\sss p\times 1} + \stackunder{\varepsilon}{\sss n\times 1}
\end{equation}
\end{document}

在此处输入图片描述

如果有人想对这个结果有更直观的解释,我会注意到这个相关问题,矩阵分解维度图

\documentclass{article}
\usepackage{stackengine}
\stackMath
\newlength\matfield
\newlength\tmplength
\def\matscale{1.}
\newcommand\dimbox[3]{%
  \setlength\matfield{\matscale\baselineskip}%
  \setbox0=\hbox{\vphantom{X}\smash{#3}}%
  \setlength{\tmplength}{#1\matfield-\ht0-\dp0}%
  \fboxrule=1pt\fboxsep=-\fboxrule\relax%
  \fbox{\makebox[#2\matfield]{\addstackgap[.5\tmplength]{\box0}}}%
}
\newcommand\raiserows[2]{%
   \setlength\matfield{\matscale\baselineskip}%
   \raisebox{#1\matfield}{#2}%
}
\newcommand\matbox[5]{
  \stackunder{\dimbox{#1}{#2}{$#5$}}{\scriptstyle(#3\times #4)}%
}
\parskip 1em
\begin{document}
$\renewcommand\matscale{.6}
\matbox{7}{2}{n}{1}{\mathrm{Y}} = 
\matbox{7}{4}{n}{p}{X} \raiserows{1.5}{\matbox{4}{2}{p}{1}{\theta}} +
\matbox{7}{2}{n}{1}{\varepsilon}$
\end{document}

在此处输入图片描述

答案2

我以表格的形式添加了我的小答案(比数学答案要脏得多,但如果在表达式中添加了很多复杂性,可能会很有用)

\documentclass{article}

\begin{document}
\begin{tabular}{ccccccc}
Y & $=$ & $X$ & $\times$ & $\theta$ & $+$ & $\epsilon$ \\
$n\times 1$ & & $n\times p $ & & $p\times 1$ & & $n\times 1$
\end{tabular}
\end{document}

相关内容