答案1
我想知道你为什么加载amsmath
包而不使用它的数学环境?例如bmatrix
添加[
和]
会自动缩放到矩阵大小。使用数组你需要手动执行此操作。在你的情况下
[\begin{array}{ccc}-1\\1\\-1 \end{array}]
你应该写
\left[\begin{array}{ccc}-1\\1\\-1 \end{array}\right]
使用bmatrix
您的代码变得更短,更清晰:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
a = \text{hardlim}(\mathbf{Wp}_1 +b)
= \text{hardlim} \left(\begin{bmatrix}0.5 & -1 & –0.5\end{bmatrix}
\begin{bmatrix}-1\\1\\-1 \end{bmatrix}+0.5 \right)
\]
\end{document}
似乎hardlim
是新的数学运算符。在这种情况下,它应该定义为:
\DeclareMathOperator{\hardlim}{hardlim}
然后用作\hardlim
(见下面的新例子)而不是变量集合左、右、左和米。
编辑 (关于评论勇武): 矩阵中对齐单元格的内容可以通过提供的解决方法来更改具有垂直和水平线的矩阵。
\documentclass{article}
\usepackage{amsmath}
\makeatletter % extend of asmath matrix features
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
\DeclareMathOperator{\hardlim}{hardlim} % new math operator
\begin{document}
\[
a = \hardlim(\mathbf{Wp}_1 +b)
= \hardlim \left(\begin{bmatrix}0.5 & -1 & –0.5\end{bmatrix}
\begin{bmatrix}[r]-1\\1\\-1 \end{bmatrix}+0.5 \right)
\]
\end{document}
这使: