为 pmatrix 添加节点和水平线

为 pmatrix 添加节点和水平线

昨天,我发布了有关矩阵内实对角线的问题。但我的问题仍然存在,因为我甚至应该在矩阵中添加垂直线和标签。有没有办法为pmatrix环境构建的矩阵添加节点(到目前为止,我遇到的所有类似问题都包含构建矩阵的其他方法)?有没有办法改进垂直线(例如接触对角线)?如何添加第二条水平线?

\documentclass{article}
\usepackage{amsmath}
\usepackage{easybmat}
\usepackage{ifthen}
\usepackage{tikz}
\begin{document}
\newcommand\tikzmark[1]{%
\tikz[overlay,remember picture,baseline] \node [anchor=base] (#1) {};}

\newcommand\MyLine[3][]{%
\begin{tikzpicture}[overlay,remember picture]
\draw[#1] (#2.north west) -- (#3.south east);
\end{tikzpicture}}

\[
\begin{pmatrix}
\phantom{0}\tikzmark{a} & & & & &  & \phantom{0}\tikzmark{p} R_{12}\\
& & & R_{11} & & &\\
& & & & & &\\
& & & & & & \\ 
& & & & & &\tikzmark{q}\phantom{0} $R_{22}$ \\
& & & & & & \tikzmark{b}\phantom{0}\\\hline
\\
\\
\multicolumn{5}{c}{\text{\huge 0}} \\
\\
\end{pmatrix}\qquad
\MyLine[ultra thick]{a}{b}
\MyLine[ultra thick]{p}{q}
\]
\end{document}

要绘制的矩阵
我迄今为止拥有的矩阵

通过运行建议的代码,我得到了以下错误: Texnic 中心的错误 Texnic 中心 III 的错误

答案1

个人意见:\...dots或者类似图形尖端方向符号在过去是一种暗示性工具,用于...嗯...为读者提供一种模式,让他们更好地理解,而没有其他类似 Excel 的表格结构。它们在行和列中工作正常,其中条目的宽度和高度相对可比(据我所知,对角点通常看起来很丑,但仍然取决于上下文)。

但是,如果您决定在这种情况下使用 TikZ 或任何其他图形工具,那么仍然试图模仿旧样式会浪费大量资源,而且也非常丑陋。因为那些工具\...dots实际上是在没有它们的情况下努力模仿您现在使用的工具。因此,一旦您切换到黑暗面,将数学对象混合到图形中,您就需要一直坚持下去,直到您可以证明这些额外的位是合理的。否则就不要费心了,只需对矩阵进行分区,这样您就无需使用 TikZ 了。


以下是一个例子:

\documentclass{article}
\usepackage{tikz,amsmath}
\usetikzlibrary{matrix,fit,calc,decorations.pathreplacing}

\begin{document}
After obtaining the observable canonical form for state space system given by $\dot{x} = Ax, y=Cx$, suddenly we 
draw a completely irrelevant figure in an equation

\[
\begin{pmatrix}
C\\
CA\\
CA^2\\
\vdots\\
CA^{n-1}
\end{pmatrix} = \qquad 
\begin{tikzpicture}[baseline=(m.center)]
\node[minimum height=5cm,minimum width=3cm] (m) {};
\pgfmathsetmacro\mytempvar{3*sqrt(2)}
\draw[ultra thin,fill=gray!10] (m.north west) -- ++(-45:\mytempvar cm) coordinate (b) |- (m.north west) --cycle;
\draw[ultra thin] (m.north west) |- (m.south east) -- (b) |- ++(135:1cm) coordinate (a) -- (m.north -| a);
\node [fit=(m.north west) (m.south east),left delimiter=(,right delimiter=)] {};
\node (r11) at ([yshift=-0.7cm]m.north) {$R_{11}$};
\node[anchor=center] (r12) at ({$(a)!0.5!(b)$} |- r11) {$R_{12}$};
\draw[-latex] (a) ++ (1.5cm,1cm) node[anchor=south] {$R_{22}$}to[bend left] ++(-1cm,-1.2cm);
\draw[ultra thin, loosely dashed] (a) -- (m.west |- a) (b) -- (m.west |- b);
\draw[decorate,decoration={brace,raise=6mm}] (m.west |- b) -- (m.west |- a) node[midway,sloped,yshift=1cm] {$n$};
\draw[decorate,decoration={brace,raise=6mm}] (m.south west)-- (m.west |- b) node[midway,sloped,yshift=1cm] {$n_{obsv}$};
\node (bigzero) at ([yshift=1cm]m.south) {\Huge $0$};
\end{tikzpicture}
\]
\end{document}

在此处输入图片描述

相关内容