전이 행렬에서 수식 정렬
Dec 29 2020
아래 링크에서 제기 된 문제를 사용하여 Markov Chain에 대한 전환 행렬을 생성하는 두 가지 대체 방법을 구축했습니다. 그러나 보시다시피 첫 번째 버전에서 내 수식은 예상 된 정렬을 잃습니다. 그리고 두 번째에서 m 개의 열 및 행 레이블은 정렬을 잃습니다.
링크 : 전이 확률 행렬 만들기
무엇이 잘못되었는지 확인하도록 도와 주시겠습니까? 나는 이것을 많이 편집하려고 시도했지만 성공하지 못했습니다.
옵션 1:
\usepackage{amsmath, blkarray}
\[
\mathbf{P} =
\begin{blockarray}{c@{\hspace{1pt}}rrrrr@{\hspace{3pt}}}
& 0 & 1 & 2 & 3 & 4 \\
\begin{block}{r@{\hspace{1pt}}|@{\hspace{1pt}}|@{\hspace{1pt}}
rrrrr@{\hspace{1pt}}|@{\hspace{1pt}}|}
0 & 0 & $\frac{1}{3}(\frac{2}{3}$)^{1-1}$ & $\frac{1}{3}(\frac{2}{3}$)^{2-1}$ & $\frac{1}{3}(\frac{2}{3}$)^{3-1}$ & {$\frac{1}{3}(\frac{2}{3}$)^{4-1}$}\\
1 & 1.0 & 0 & 0 & 0 & 0\\
2 & 0 & 1.0 & 0 & 00 & 0 \\
3 & 0 & 0 & 1.0 & 0 & 0 \\
4 & 0 & 0 & 0 & 1.0 & 0 \\
\end{block}
\end{blockarray}
\]

옵션 2 :
\usepackage{scalerel,tabstackengine,xpatch}
\setstacktabbedgap{1em}
\xpatchcmd\Centerstack{\strutlongstacks{T}}{}{}{}
\[
\def\stackalignment{c}
\mathbf{P} =
\Centerstack{
0 \\
1 \\
2 \\
3 \\
4 \\
}\!
\stackon{
\stretchleftright{|\!|}{\tabbedCenterstack{
0.0 & {$\frac{1}{3}(\frac{2}{3}$)^{1-1}$} & {$\frac{1}{3}(\frac{2}{3}$)^{2-1}$} & {$\frac{1}{3}(\frac{2}{3}$)^{3-1}$} & {$\frac{1}{3}(\frac{2}{3}$)^{4-1}$}\\
1.0 & 0.0 & 0.0 & 0.0 & 0.0 \\
0.0 & 1.0 & 0 & 0.0 & 0.0 \\
0.0 & 0.0 & 1.0 & 0.0 & 0.0 \\
0.0 & 0.0 & 0.0 & 1.0 & 0.0
}}{|\!|}}{\tabbedCenterstack{
\protect\phantom{0.5}0 & \protect\phantom{0.5}1 & \protect\phantom{0.5}2 & \protect\phantom{0.5}3 & \protect\phantom{0.5}4}
\kern1pt}
\]

도움을 주셔서 감사합니다!
대단히 감사합니다.
답변
1 egreg Dec 29 2020 at 06:49
다음을 사용하면 훨씬 쉽습니다 nicematrix
.
\documentclass{article}
\usepackage{amsmath, nicematrix}
\begin{document}
\[
\mathbf{P} =
\begin{VNiceMatrix}[first-col,first-row]
& 0 & 1 & 2 & 3 & 4 \\
0 & 0 & \frac{1}{3}(\frac{2}{3})^{1-1}
& \frac{1}{3}(\frac{2}{3})^{2-1}
& \frac{1}{3}(\frac{2}{3})^{3-1}
& \frac{1}{3}(\frac{2}{3})^{4-1} \\
1 & 1.0 & 0 & 0 & 0 & 0\\
2 & 0 & 1.0 & 0 & 00 & 0 \\
3 & 0 & 0 & 1.0 & 0 & 0 \\
4 & 0 & 0 & 0 & 1.0 & 0 \\
\end{VNiceMatrix}
\]
\end{document}

행렬의 항목이 그것을 할 XNiceMatrix
, Xmatrix
, array
또는 blockarray
수학 모드에서 이미, 그래서 $
사용해서는 안된다. ( X
다양한 행렬 구분 기호를 가져 오기 위해 허용 된 문자를 나타냅니다.)