LaTeX数学模式中的矩阵

简介: LaTeX数学模式中的矩阵

LaTeX数学模式中的矩阵

上节说明了一些数学公式初步

一、矩阵环境

1、matrix环境

(1)引入amsmath宏包。

image-20220206163303107

(2)用中括号引入行间公式。

image-20220206163208284

(3)在LaTeX中,可以使用matrix环境实现矩阵的排版。

image-20220206163048185

(4)用于矩阵排版的matrix环境,与用于表格排版的tabular环境使用方法非常类似。

我们在环境中随便写一个矩阵。

image-20220206163431984

编译结果:

image-20220206163636956

2、pmatrix环境

pmatrix环境用于在矩阵两端添加小括号。

image-20220206164808537

结果:

image-20220206164912506

3、bmatrix环境

bmatrix环境用于在矩阵两端添加中括号。

image-20220206165006543

结果:

image-20220206165101997

4、Bmatrix环境

Bmatrix环境用于在矩阵两端添加大括号。

image-20220206165138895

结果:

image-20220206165223378

5、vmatrix环境

vmatrix环境用于在矩阵两端添加竖线。

image-20220206165318263

结果:

image-20220206165334505

6、Vmatrix环境

Vmatrix环境用于在矩阵两边添加双竖线。

image-20220206165426052

结果:

image-20220206165439108

注意

矩阵环境 ,用&分割列,用\\分割行。

一定要加上方括号环境,要不然会报错!

image-20220206170031831

image-20220206170049706

二、使用上下标

在矩阵中,也可以使用下划线_和尖角号^使用上下标。

image-20220206170752932

结果:

image-20220206170813443

三、省略号

常用省略号:\dots、\vdots、\ddots 。

在数学模式中,可以用times命令来排版乘号。

image-20220206171422712

结果:

image-20220206171501200

四、自定义方向

我们来自定义一个adots命令来输入另一个方向上的省略号。

我们可以通过newcommand命令来定义一个新的adots命令。

执行括号里面的操作。

image-20220206213127251

在第二个括号里面输入操作。

用三个不同的方式排版三个句点符号。

image-20220206214839101

代码:

\newcommand{\adots}{
    \mathinner{
        \mkern2mu%
        \raisebox{0.1em}{.}
        \mkern2mu \raisebox{0.4em}{.}%
        \mkern2mu \raisebox{0.7em}{.}
        \mkern1mu
    }
}

image-20220206214857691

结果:

image-20220206214920486

或者直接使用\iddots生成,但是要调用mathdots宏包。

image-20220206215122486

image-20220206215140443

结果:

image-20220206215157109

五、分块矩阵(矩阵嵌套)

把一个矩阵作为另一个矩阵的元素进行处理。

text命令用于在数学模式中,临时切换到文本模式。

image-20220206220415134

查看结果:

image-20220206220452204

如果在数学模式中,不使用text命令。

结果是不一样的!

image-20220206220626506

看一下这个0和刚才的不一样。

image-20220206220707058

代码:

    %分块矩阵(矩阵嵌套)
    \[
        \begin{pmatrix}
            \begin{matrix}
                1 & 0 \\
                0 & 1
            \end{matrix}
            & \text{\Large 0} \\
            \text{\Large 0} &
            \begin{matrix}
                1 & 0 \\
                0 & -1
            \end{matrix}
        \end{pmatrix}
    \]

六、三角矩阵

可以使用multicolum命令合并多列。

此例中,2是合并数,c是中间位置。

raisebox命令来调整高度。

image-20220206221613849

查看结果:

image-20220206221637052

代码:

    %三角矩阵
    \[
      \begin{pmatrix}
          a_{11} & a_{12} & \cdots & a_{1n} \\
                 & a_{22} & \cdots & a_{2n} \\
                 &        & \ddots & \vdots \\
          \multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}
          &  &  a_{nn} 
      \end{pmatrix}  
    \]

七、跨列的省略号

跨列的省略号:\hdotsfor{<列数>}

image-20220206222106889

结果:

image-20220206222123834

代码:

    %跨列的省略号:\hdotsfor{<列数>}
    \[
        \begin{pmatrix}
            1 & \frac 12 & \dots & \frac 1n \\
            \hdotsfor{4} \\
            m & \frac m2 & \dots & \frac mn 
        \end{pmatrix}    
    \]

八、行内小矩阵环境

行内小矩阵:smallmatrix

注意:

(1)将smallmatrix环境置于math环境中。

(2)left(命令用于生成矩阵的左括号。right)用于生成矩阵的右括号。right与left命令是成对出现的!

(3)smallmatrix环境的使用方式与matrix环境的使用方式完全相同。可以用&符号分割各列,用双反斜杆\\命令实现换行。

image-20220206233436460

报错:

image-20220206235904019

为啥会报错?

俺也不知道。。。

但是把math环境换一下,换成equation环境就可以了。

image-20220207001430330

查看结果:

image-20220207001453158

或者把math环境换成\[\]也是可以的!

image-20220207001636594

查看结果:

image-20220207001710101

代码:

    %行内小矩阵(smallmatrix)环境
        复数 $ z=(x,y) $ 也可用矩阵
        \[
            \left(   %需要手动加上左括号
                \begin{smallmatrix}
                    x & -y \\
                    y & x
                \end{smallmatrix}
            \right)
        \]

九、array环境

1、用array环境排版矩阵

也可以使用array环境排版矩阵。

(1)array环境与表格环境tabular一致。在必选参数中用r、l、c 和|指定列位置格式。

(2)仍然使用&分割个列,使用\\换行。

(3)利用hline命令产生横线。

image-20220207001815227

结果:

image-20220207001842606

代码:

    %array环境(类似于表格环境的tabular)
    \[
        \begin{array}[array]{r|r}
            \frac 12 & 0 \\
            \hline
            0        & -\frac abc \\
        \end{array}    
    \]

2、frac使用注意事项

(1)可以不使用分组命令排版分式。

image-20220207094827302

(2)当然,也可以使用大括号进行分组,以示区分分子和分母。

image-20220207095018952

(3)不使用分组时,frac命令只能区分单个字母。

下面这个分式,我们可以看到,C不参与分式的组成。

image-20220207095057664

(4)frac后面直接跟字母,会产生语法错误。

image-20220207095256476

(5)若需要多个字母构成分母,需要使用大括号进行分组。

image-20220207095425927

3、array环境构造复杂矩阵(了解)

直接看代码:

    %用array环境构造复杂矩阵
    \[
        % @{<内容>}- 添加任意内容,不占表项计数。
        %此处添加一个负值空白,表示向左移-5pt的距离。
        \begin{array}{c@{\hspace{-5pt}}l}
            %第一行,第一列
            \left(
                \begin{array}{ccc|ccc}
                    a & \cdots & a & b & \cdots & b \\
                      & \ddots & \vdots & \vdots & \adots \\
                      &       & a & b & \\
                    \hline
                      &       &   & c & \cdots & c \\
                      &       &   & \vdots &   &  \vdots \\
                    \multicolumn{3}{c|}{\raisebox{2ex}[0pt]{\Huge 0}}
                      &  c    & \cdots & c
                \end{array}
            \right)
            %第一行,第二列
            \begin{array}{l}
                % \left.仅表示与\right\}配对,什么都不输出
                \left. \rule{0mm}{7mm} \right\} p \\
                \\
                \left. \rule{0mm}{7mm} \right\} q
            \end{array}
            \\ [-5pt]
            %第二行,第一列
            \begin{array}{cc}
                \underbrace{\rule{17mm}{0mm}}_m &
                \underbrace{\rule{17mm}{0mm}}_m
            \end{array}
            & %第二行,第二列
        \end{array}
    \]

注意这里使用的省略号,有一个adots命令是之前我们写的。

执行结果:

image-20220207103753781

粗略讲解:

(1)用c指定第一列居中对齐,用l指定最后一列居左对齐。

利用@使用hspace命令在两列之间插入-5磅的水平空白。

注意,利用@插入的内容不列入表列计数。

array环境的嵌套,编写相应的矩阵。

leftright命令产生矩阵两端的定界符。

image-20220207102546937

(2)继续使用array环境产生右侧的大括号p标识符。

注意此处的left命令是为了实现与right命令的配对。

此处的left命令不输出任何内容。

image-20220207103444478

(3)可以再嵌套一个array环境,用于产生下方的横向大括号m标识符。

可以使用underbrace命令排版横向大括号。

rule命令指定横向大括号的尺寸。

以下标的方式指定m标识符。

image-20220207103648958

十、全部代码

在这里将本节用到的全部代码放在这里,供大家学习使用。

%导言区
\documentclass{ctexart}
\usepackage{amsmath}
\usepackage{mathdots}

\newcommand{\adots}{
    \mathinner{
        \mkern2mu%
        \raisebox{0.1em}{.}
        \mkern2mu \raisebox{0.4em}{.}%
        \mkern2mu \raisebox{0.7em}{.}
        \mkern1mu
    }
}

%usepackage{ctex}

%正文区(文稿区)
\begin{document}
    \[
       \begin{matrix}
           0 & 1 \\
           1 & 0
       \end{matrix}
    \]

    \[
      \begin{pmatrix} %用于在矩阵两端加小括号
          %pmatrix环境
            0 & -i \\
            i & 0
      \end{pmatrix}  
    \]

    \[
       \begin{bmatrix} %用于加中括号
           %bmatrix环境
           0 & -1 \\
           1 & 0
       \end{bmatrix}   
    \]

    \[
        \begin{Bmatrix} %用于加大括号
            %Bmatrix
            1 & 0 \\
            0 & -1
        \end{Bmatrix}
    \]

    \[
        \begin{vmatrix} %用于加单竖线
             %vmatrix环境
             a & b \\
             c & d
        \end{vmatrix}
    \]

    \[
        \begin{Vmatrix} %用于加双竖线
            %Vmatrix环境
            i & 0 \\
            0 & -i
        \end{Vmatrix}
    \]


    %可以使用上下标
    \[
        A= \begin{pmatrix}
                a_{11}^2 & a_{12}^2 & a_{13}^2 \\
                0        & a_{22}   & a_{23}   \\
                0        &   0      & a_{33}
           \end{pmatrix}
    \]


    %常用省略号:\dots、\vdots、\ddots
    \[
        A= \begin{bmatrix}
            a_{11} & \dots & a_{1n} \\
            \iddots & \ddots & \vdots \\
            0 &  & a_{nn}
        \end{bmatrix}_{n \times n}
    \]

    %分块矩阵(矩阵嵌套)
    \[
        \begin{pmatrix}
            \begin{matrix}
                1 & 0 \\
                0 & 1
            \end{matrix}
            & \text{\Large 0} \\
            \text{\Large 0} &
            \begin{matrix}
                1 & 0 \\
                0 & -1
            \end{matrix}
        \end{pmatrix}
    \]


    %三角矩阵
    \[
      \begin{pmatrix}
          a_{11} & a_{12} & \cdots & a_{1n} \\
                 & a_{22} & \cdots & a_{2n} \\
                 &        & \ddots & \vdots \\
          \multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}
          &  &  a_{nn} 
      \end{pmatrix}  
    \]


    %跨列的省略号:\hdotsfor{<列数>}
    \[
        \begin{pmatrix}
            1 & \frac 12 & \dots & \frac 1n \\
            \hdotsfor{4} \\
            m & \frac m2 & \dots & \frac mn 
        \end{pmatrix}    
    \]


    %行内小矩阵(smallmatrix)环境
        复数 $ z=(x,y) $ 也可用矩阵
        \[
            \left(   %需要手动加上左括号
                \begin{smallmatrix}
                    x & -y \\
                    y & x
                \end{smallmatrix}
            \right)
        \]
      

    %array环境(类似于表格环境的tabular)
    \[
        \begin{array}[array]{r|r}
            \frac 12 & 0 \\
            \hline
            0        & -\frac abc \\
        \end{array}    
    \]

    %用array环境构造复杂矩阵
    \[
        % @{<内容>}- 添加任意内容,不占表项计数。
        %此处添加一个负值空白,表示向左移-5pt的距离。
        \begin{array}{c@{\hspace{-5pt}}l}
            %第一行,第一列
            \left(
                \begin{array}{ccc|ccc}
                    a & \cdots & a & b & \cdots & b \\
                      & \ddots & \vdots & \vdots & \adots \\
                      &       & a & b & \\
                    \hline
                      &       &   & c & \cdots & c \\
                      &       &   & \vdots &   &  \vdots \\
                    \multicolumn{3}{c|}{\raisebox{2ex}[0pt]{\Huge 0}}
                      &  c    & \cdots & c
                \end{array}
            \right)
            %第一行,第二列
            \begin{array}{l}
                % \left.仅表示与\right\}配对,什么都不输出
                \left. \rule{0mm}{7mm} \right\} p \\
                \\
                \left. \rule{0mm}{7mm} \right\} q
            \end{array}
            \\ [-5pt]
            %第二行,第一列
            \begin{array}{cc}
                \underbrace{\rule{17mm}{0mm}}_m &
                \underbrace{\rule{17mm}{0mm}}_m
            \end{array}
            & %第二行,第二列
        \end{array}
    \]

\end{document}

祝大家学习愉快,敲代码整理不易,请多多支持!

拜拜~

相关文章
|
24天前
线性代数——(期末突击)矩阵(上)-概念篇(矩阵的定义、矩阵的运算、特殊矩阵、初等变换)
线性代数——(期末突击)矩阵(上)-概念篇(矩阵的定义、矩阵的运算、特殊矩阵、初等变换)
29 7
|
2月前
|
存储 JavaScript
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
79 0
MATLAB实战 | 求矩阵指数、预定义变量i和j的含义以及梯形积分法
|
人工智能 算法
学习笔记: 线性代数-标准正交矩阵Q
线性代数个人学习笔记
176 0
|
编译器
LaTeX 常用数学符号汇总
LaTeX 常用数学符号汇总
1064 0
|
数据可视化 Python
Python之建模数值逼近篇--二维插值
Python之建模数值逼近篇--二维插值
Python之建模数值逼近篇--二维插值
|
数据可视化 Python
Python之建模数值逼近篇--一维插值
Python之建模数值逼近篇--一维插值
Python之建模数值逼近篇--一维插值
|
索引
HDLBits练习汇总-02-Verilog语言--向量部分(一)
HDLBits练习汇总-02-Verilog语言--向量部分
193 0
HDLBits练习汇总-02-Verilog语言--向量部分(一)
HDLBits练习汇总-02-Verilog语言--向量部分(二)
HDLBits练习汇总-02-Verilog语言--向量部分
136 0
HDLBits练习汇总-02-Verilog语言--向量部分(二)
|
前端开发 JavaScript
数学公式支持
数学公式支持
99 0
数学公式
数学公式
72 0