Bir geçiş matrisinde formül hizalaması

Dec 29 2020

Markov Zinciri için bir geçiş matrisi oluşturmanın 2 alternatif yolunu oluşturmak için aşağıdaki bağlantıda belirtilen sorunu kullandım. Ancak, gördüğünüz gibi, ilk versiyonda formülüm beklenen hizalamasını kaybediyor. İkinci olarak, m sütun ve satır etiketleri hizalamalarını kaybeder.

Bağlantı: Bir geçiş olasılık matrisi oluşturma

Neyin yanlış gittiğini belirlememe yardım eder misin lütfen? Başarısız bir şekilde bunların çoğunu düzenlemeyi denedim.

Seçenek 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}
\]

Seçenek 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}
\]

Yardımınız için çok teşekkür ederim!

Çok takdir edilmektedir.

Yanıtlar

1 egreg Dec 29 2020 at 06:49

Şunlarla çok daha kolay 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}

Bir matrisin girdileri olsun XNiceMatrix, Xmatrix, arrayveya blockarraymatematik modunda zaten, bu yüzden hiçbir $kullanılmalıdır. ( XÇeşitli matris sınırlayıcılarını almak için izin verilen herhangi bir karakter anlamına gelir.)