如何在矩阵的顶部和右侧放置箭头

如何在矩阵的顶部和右侧放置箭头

我正在尝试创建如下所示的矩阵

在此处输入图片描述

但我想要左箭头矩阵的右侧

因为我想在左边显示矩阵的名称。

以下是我所拥有的:

\[
M =\begin{bmatrix} 
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots  \\
\vdots & \vdots & \vdots 
\end{bmatrix}
\]

我不知道接下来该怎么办。有人有什么建议吗?

答案1

我稍微修改了marmot的解决方案以避免使用tikzmark

我还使用它Triangle作为箭头尖和其他一些小变化。

如果您尚未更新您的发行版,我的解决方案也同样有效。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary[arrows.meta]

\begin{document}
\[
M =\tikz[remember picture, baseline=(mat.center)]{\node[inner sep=0](mat){$\begin{bmatrix} 
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots  \\
f(3,1) & f(3,2) & \dots  \\
\vdots & \vdots & \ddots \\
 & &  \\
\end{bmatrix}$};}
\begin{tikzpicture}[overlay,remember picture,
>=Triangle]
\draw[blue,thick,->] node[anchor=south west] (nn1) at (mat.north west)
{$n$ columns} (nn1.east) -- (nn1-|mat.north east) 
node[midway,above,black]{$i$ changes};
\draw[red,thick,->] node[anchor=north west,align=center, inner xsep=0pt] (nn2) at 
(mat.north east)
{$m$\\ rows} (nn2.south) -- (nn2.south|-mat.south) 
node[midway,above,black,rotate=-90]{$j$ changes};
\end{tikzpicture}
\]
\end{document}

在此处输入图片描述

答案2

有了tikzmark它就简单多了。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\[
M =\hspace*{1.5cm}\tikzmarknode{mat}{\begin{bmatrix} 
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots  \\
f(3,1) & f(3,2) & \dots  \\
\vdots & \vdots & \ddots \\
 & &  \\
\end{bmatrix}}
\begin{tikzpicture}[overlay,remember picture]
\draw[blue,thick,-latex] node[anchor=south west] (nn1) at (mat.north west)
{$n$ columns} (nn1.east) -- (nn1-|mat.north east) 
node[midway,above,black]{$i$ changes};
\draw[red,thick,-latex] node[anchor=north east,align=center] (nn2) at (mat.north west)
{$m$\\ rows} (nn2.south) -- (nn2.south|-mat.south west) 
node[midway,above,black,rotate=90]{$j$ changes};
\end{tikzpicture}
\]
\end{document}

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\[
M =\tikzmarknode{mat}{\begin{bmatrix} 
f(1,1) & f(1,2) & \dots \\
f(2,1) & f(2,2) & \dots  \\
f(3,1) & f(3,2) & \dots  \\
\vdots & \vdots & \ddots \\
 & &  \\
\end{bmatrix}}
\begin{tikzpicture}[overlay,remember picture]
\draw[blue,thick,-latex] node[anchor=south west] (nn1) at (mat.north west)
{$n$ columns} (nn1.east) -- (nn1-|mat.north east) 
node[midway,above,black]{$i$ changes};
\draw[red,thick,-latex] node[anchor=north west,align=center] (nn2) at 
(mat.north east)
{$m$\\ rows} (nn2.south) -- (nn2.south|-mat.south) 
node[midway,above,black,rotate=90]{$j$ changes};
\end{tikzpicture}
\]
\end{document}

在此处输入图片描述

相关内容