答案1
只是为了好玩:自动创建其条目的矩阵。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[auto matrix/.style={matrix of nodes,
draw,thick,inner sep=0pt,
nodes in empty cells,column sep=-0.2pt,row sep=-0.2pt,
cells={nodes={minimum width=1.9em,minimum height=1.9em,
draw,very thin,anchor=center,fill=white,
execute at begin node={%
$\vphantom{x_|}\ifnum\the\pgfmatrixcurrentrow<4
\ifnum\the\pgfmatrixcurrentcolumn<4
{#1}^{\the\pgfmatrixcurrentrow}_{\the\pgfmatrixcurrentcolumn}
\else
\ifnum\the\pgfmatrixcurrentcolumn=5
{#1}^{\the\pgfmatrixcurrentrow}_{N}
\fi
\fi
\else
\ifnum\the\pgfmatrixcurrentrow=5
\ifnum\the\pgfmatrixcurrentcolumn<4
{#1}^{T}_{\the\pgfmatrixcurrentcolumn}
\else
\ifnum\the\pgfmatrixcurrentcolumn=5
{#1}^{T}_{N}
\fi
\fi
\fi
\fi
\ifnum\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn=14
\cdots
\fi
\ifnum\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn=41
\vdots
\fi
\ifnum\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn=44
\ddots
\fi$
}
}}}]
\matrix[auto matrix=z,xshift=3em,yshift=3em](matz){
& & & & \\
& & & & \\
& & & & \\
& & & & \\
& & & & \\
};
\matrix[auto matrix=y,xshift=1.5em,yshift=1.5em](maty){
& & & & \\
& & & & \\
& & & & \\
& & & & \\
& & & & \\
};
\matrix[auto matrix=x](matx){
& & & & \\
& & & & \\
& & & & \\
& & & & \\
& & & & \\
};
\draw[thick,-stealth] ([xshift=1ex]matx.south east) -- ([xshift=1ex]matz.south east)
node[midway,below] {$D$};
\draw[thick,-stealth] ([yshift=-1ex]matx.south west) --
([yshift=-1ex]matx.south east) node[midway,below] {joints};
\draw[thick,-stealth] ([xshift=-1ex]matx.north west)
-- ([xshift=-1ex]matx.south west) node[midway,above,rotate=90] {time};
\end{tikzpicture}
\end{document}
对案例进行更加线性化的处理(当然不是最佳的)。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[auto matrix/.style={matrix of nodes,
draw,thick,inner sep=0pt,
nodes in empty cells,column sep=-0.2pt,row sep=-0.2pt,
cells={nodes={minimum width=1.9em,minimum height=1.9em,
draw,very thin,anchor=center,fill=white,
execute at begin node={%
$\vphantom{x_1^1}
\pgfmathtruncatemacro{\itest}{sign(4-\the\pgfmatrixcurrentcolumn)*sign(4-\the\pgfmatrixcurrentrow)}
\unless\ifnum\itest=0
{#1}^{\myrowindex{\the\pgfmatrixcurrentrow}}_{\mycolindex{\the\pgfmatrixcurrentcolumn}}
\fi
\ifnum\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn=14
\cdots
\fi
\ifnum\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn=41
\vdots
\fi
\ifnum\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn=44
\ddots
\fi
$}
}}}]
\newcommand{\mycolindex}[1]{\ifnum#1=5 N\else #1\fi}
\newcommand{\myrowindex}[1]{\ifnum#1=5 T\else #1\fi}
\matrix[auto matrix=z,xshift=3em,yshift=3em](matz){
& & & & \\
& & & & \\
& & & & \\
& & & & \\
& & & & \\
};
\matrix[auto matrix=y,xshift=1.5em,yshift=1.5em](maty){
& & & & \\
& & & & \\
& & & & \\
& & & & \\
& & & & \\
};
\matrix[auto matrix=x](matx){
& & & & \\
& & & & \\
& & & & \\
& & & & \\
& & & & \\
};
\draw[thick,-stealth] ([xshift=1ex]matx.south east) -- ([xshift=1ex]matz.south east)
node[midway,below] {$D$};
\draw[thick,-stealth] ([yshift=-1ex]matx.south west) --
([yshift=-1ex]matx.south east) node[midway,below] {joints};
\draw[thick,-stealth] ([xshift=-1ex]matx.north west)
-- ([xshift=-1ex]matx.south west) node[midway,above,rotate=90] {time};
\end{tikzpicture}
\end{document}