《MATLABSimulink系统仿真超级学习手册》——2.3 MATLAB下矩阵的运算

    xiaoxiao2023-08-23  181

    本节书摘来自异步社区《MATLAB/Simulink系统仿真超级学习手册》一书中的第2章,第2.3节,作者:MATLAB技术联盟 , 石良臣著,更多章节内容可以访问云栖社区“异步社区”公众号查看

    2.3 MATLAB下矩阵的运算

    MATLAB/Simulink系统仿真超级学习手册矩阵运算是MATLAB最重要的运算,因为MATLAB的运算大部分都建立在矩阵运算的基础之上。MATLAB有三种矩阵运算类型:矩阵的代数运算、矩阵的关系运算和矩阵的逻辑运算。其中,矩阵的代数运算应用最广泛。

    根据不同的应用目的,矩阵的代数运算又包含两种重要的运算形式:按矩阵整体进行运算,按矩阵单个元素进行运算的元素群运算。

    2.3.1 矩阵的代数运算1.矩阵的算术运算矩阵算术运算的书写格式与普通算术运算相同,包括优先顺序规则,但其乘法和除法的定义和方法与标量截然不同,读者应在矩阵的运算意义上加以理解和应用。

    表2-6是MATLAB矩阵的算术运算符及其说明。

    下面为两矩阵的加法、乘法、乘方运算示例,运算失败时MATLAB会提示出错。

    >> A=[1,1;2,2];B=[1,1;2,2];A+B ans =    2   2    4   4 >> A=[1,1;2,2;3,3];B=[1,1;2,2];A+B Error using + Matrix dimensions must agree. >> A=[1,1;2,2];B=[1,1;2,2];A*B ans =    3   3    6   6 >> A=[1,1;2,2];B=[1,1;2,2;3,3];A*B Error using * Inner matrix dimensions must agree. >> A=[1,1;2,2];B=2;A^B ans =    3   3    6   6 >> A=[1,1;2,2];B=[1,2];A^B Error using ^ Inputs must be a scalar and a square matrix. To compute elementwise POWER, use POWER (.^) instead.

    注意:

    (1)若A、B两矩阵进行加、减运算,则A、B必须维数相同,否则系统提示出错;

    (2)若A、B两矩阵进行乘运算,则前一矩阵的列数必须等于后一矩阵的行数(内维数相等);

    (3)若A、B两矩阵进行右除运算,则两矩阵的列数必须相等(实际上,X=B/A=B×A-1 );

    (4)若A、B两矩阵进行左除运算,则两矩阵的行数必须相等(实际上,X=A B=A-1· B)。

    2.矩阵的运算函数MATLAB系统函数库中提供了一些常用的矩阵运算函数,熟悉这些对读者非常有用。例如,矩阵的加、减、乘、除等运算对参与运算的矩阵都有各自的矩阵维数匹配要求。

    表2-7列出了部分常用的矩阵运算函数。

    下面为常用矩阵运算函数的示例。

    >> A=[1,2,3;4,5,6;7,8,9];size(A) ans =    3   3 >> A=[1,2,3;4,5,6;7,8,9];length(A) ans =    3 >> A=[1,2,3;4,5,6;7,8,9];sum(A) ans =   12  15  18 >> A=[1,2,3;4,5,6;7,8,9];max(A) ans =    7   8   9

    3.矩阵的元素群运算元素群运算,是指矩阵中的所有元素按单个元素进行运算。为了与矩阵作为整体的运算符号相区别,元素群运算约定:在矩阵运算符“*”、“/”、“”、“^”前加一个点符号“.”,以表示在做元素群运算,而非矩阵运算。元素群加、减运算的效果与矩阵加、减运算是一致的,运算符也相同。

    表2-8为矩阵的元素群运算符及其说明。

    下面为元素群运算的示例。

    >> A=[1,2;3,4];B=[1,2;3,4];A.*B ans =    1   4    9  16 >> A=[1,2;3,4];B=[3,4;5,6];A.\B ans =   3.0000  2.0000   1.6667  1.5000 >> A=[1,2;3,4];B=[3,4;5,6];A./B ans =   0.3333  0.5000   0.6000  0.6667 >> A=[1,2;3,4];B=[3,4;5,6];A.^B ans =      1     16      243    4096

    4.元素群的函数MATLAB提供了几乎所有初等函数,包括三角函数、对数函数、指数函数和复数运算函数等。大部分的MATLAB函数运算都是分别作用于函数变量(矩阵)的每一个元素,这意味着这些函数的自变量可以是任意阶的矩阵。

    表2-9列出了MATLAB常用初等函数名及其对应功能。

    在MATLAB命令窗口中输入下面语句并按回车键确认。

    >> x=[0,pi/6,pi/4,pi/3];y=tan(x)

    运行结果如下:

    y =      0  0.5774  1.0000  1.7321

    2.3.2 矩阵的关系运算MATLAB语言定义了各种矩阵的关系运算,表2-10列出了MATLAB的关系运算符及其意义。

    在使用关系运算时,首先应保证两个矩阵的维数相等或至少一个为标量。若参与运算的对象为两个矩阵,则关系运算对两个矩阵的对应元素进行关系比较,若关系满足,则将结果矩阵中该位置的元素置1,否则置0。若参与运算的对象之一为标量,则关系运算将矩阵的每一个元素与该标量逐一进行关系比较,若关系满足,则将结果矩阵中该位置的元素置1,否则置0。

    注意:关系运算比算术运算具有更高的优先权。

    下面为矩阵A=[1,1;1,1]和矩阵B=[0,1;2,3]作关系比较的运算结果示例。

    >> A=[1,1;1,1];B=[0,1;2,3];A>B ans =    1   0    0   0 >> A=[1,1;1,1];B=[0,1;2,3];A>=B ans =    1   1    0   0 >> A=[1,1;1,1];B=[0,1;2,3];A==B ans =    0   1    0   0 >> A=[1,1;1,1];B=[0,1;2,3];A~=B ans =    1   0    1   1

    2.3.3 矩阵的逻辑运算在逻辑运算中,所有非零元素的逻辑值为“真”,用代码“表示;值为零的元素的逻辑值为“假”,用代码“表示。

    逻辑运算规则与关系运算基本一致,也是针对两个矩阵的对应元素。逻辑运算真值表与一般二值运算真值表完全一致。

    表2-11为MATLAB矩阵的基本逻辑运算符号及其意义。

    相关资源:simulink教程
    最新回复(0)