《MATLAB/Simulink系统仿真超级学习手册》——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矩阵的基本逻辑运算符号及其意义。

时间: 2024-09-20 00:05:45

《MATLAB/Simulink系统仿真超级学习手册》——2.3 MATLAB下矩阵的运算的相关文章

《MATLAB/Simulink系统仿真超级学习手册》——2.7 MATLAB编程实例

2.7 MATLAB编程实例 MATLAB/Simulink系统仿真超级学习手册 MATLAB强大的运算功能和图形功能,是实现各领域的编程仿真的有力工具.本节将综合本章所讲的内容介绍MATLAB的一些编程实例,使读者对MATLAB语言的应用有一些基本的了解. 2.7.1 汉诺塔问题 Hanoi(汉诺)塔问题,是一个古典的数学问题,是一个用递归方法解题的典型例子.问题是这样的:古代有一个梵塔,塔内有3个座A.B.C,开始时A座上有n个盘子,盘子大小不等,大的在上,小的在下如图2-35所示. 现在,

《MATLAB/Simulink系统仿真超级学习手册》——1.2 MATLAB简介

1.2 MATLAB简介 MATLAB/Simulink系统仿真超级学习手册 MATLAB是MATRIX LABORATORY的简称,它是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分. 1.2.1 MATLAB发展史 20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB. 1.正式走向市场

《MATLAB/Simulink系统仿真超级学习手册》——第2章 MATLAB编程基础 2.1 MATLAB工作环境

第2章 MATLAB编程基础 本书使用的MATLAB版本为MATLAB R.本章将较全面地介绍MATLAB正常运行的基本流程以及编程基础与技巧,帮助读者在领略MATLAB非凡能力的同时比较轻松地跨过MATLAB门槛,为后面学习MATLAB工具箱Simulink打下坚实的基础. 2.1 MATLAB工作环境 MATLAB/Simulink系统仿真超级学习手册 MATLAB提供了全新的工作环境,了解并熟悉该环境是使用MATLAB的基础.下面将介绍MATLAB主界面(包括工具栏.命令窗口等).文本编辑

《MATLAB/Simulink系统仿真超级学习手册》——1.3 MATLAB/Simulink应用示例

1.3 MATLAB/Simulink应用示例 MATLAB/Simulink系统仿真超级学习手册 本节将介绍几个例子来展示MATLAB/Simulink在系统仿真中的应用,希望读者通过这些例子对MATLB/Simulink有一个初步的认识. [例1-1]微分方程求解.一个非线性刚体系统可用如下方程进行描述: 试求出在初始条件y 1(0)=0.y 2(0)=1.y 3(0)=1下系统的解. 编写如下MATLAB程序: function ep1_1 options = odeset('RelTol

《MATLAB/Simulink系统仿真超级学习手册》——2.5 文件的编写

2.5 文件的编写 MATLAB/Simulink系统仿真超级学习手册 M文件可分为脚本M文件(简称脚本文件)和函数M文件(简称函数文件)两大类,其特点和适用领域均不同. 2.5.1 脚本文件 脚本文件是由MATLAB语句构成的文本文件,以.m为扩展名.运行命令文件的效果等价于从MATLAB命令窗口中按顺序逐条输入并运行文件中的指令,类似于DOS下的批处理文件. 脚本文件运行过程所产生的变量保留在MATLAB的工作空间中,脚本文件也可以访问MATLAB当前工作空间的变量,其他脚本文件和函数可以共

《MATLAB/Simulink系统仿真超级学习手册》——2.8 本章小结

2.8 本章小结 MATLAB/Simulink系统仿真超级学习手册 本章主要介绍了MATLAB的编程基础,为后面学习Simulink做准备.首先是MATLAB的工作环境,通过对MATLAB主界面.文本编辑器以及帮助文档的介绍,读者可以了解今后是在怎样一个平台上进行编程.仿真工作. 其次,MATLAB语言也是需要读者掌握的,如MATLAB的矩阵.程序流程控制等,都是十分重要的.MATLAB是矩阵实验室的意思,所以矩阵的运算在MATLAB语言中有着举足轻重的地位.M文件是读者施展编程才能的地方.利

《MATLAB/Simulink系统仿真超级学习手册》——2.4 MATLAB的程序流程控制

2.4 MATLAB的程序流程控制 MATLAB/Simulink系统仿真超级学习手册 作为一种程序设计语言,MATLAB同一般高级程序语言一样,为用户提供了丰富的程序结构语言来实现用户对程序流程的控制. MATLAB的程序路程控制主要包括循环控制和条件选择控制. 2.4.1 循环控制结构 1.for循环结构 for循环结构的格式为 for 循环变量=向量表达式 循环体语句组 end 该循环结构的执行方式为:从向量表达式的第一列开始,依次将向量表达式各列的值赋值给循环变量,然后执行循环体语句组中

《MATLAB/Simulink系统仿真超级学习手册》——2.2 MATLAB语言基本元素

2.2 MATLAB语言基本元素 MATLAB/Simulink系统仿真超级学习手册 MATLAB语言提供了丰富的数据类型,如实数.复数.向量.矩阵.字符串.多维数组.结构体.类和对象等,还提供了丰富的内置功能函数.这些功能使得MATLAB的编程功能非常强大.本节介绍变量和矩阵这两种最基本且常用的数据类型以及赋值语句的基本形式. 2.2.1 变量 变量是保存数据信息的一种最基本的数据类型.变量的命名应遵循如下规则: (1)变量名必须以字母开头: (2)变量名可以由字母.数字和下划线混合组成: (

《MATLAB/Simulink系统仿真超级学习手册》——2.6 MATLAB的图形绘制

2.6 MATLAB的图形绘制 MATLAB/Simulink系统仿真超级学习手册MATLAB除了强大的数值分析功能外,还具有方便的绘图功能.利用MATLAB丰富的二维.三维图形函数和多种修饰方法,只要指定绘图方式并提供绘图数据,就可以绘制出理想的图形.由于MATLAB的图形系统是建立在诸如线.面等图形对象的集合基础之上,因此用户可以对任何一个图形元素进行单独的修改,而不影响图形的其他部分. 2.6.1 二维图形的绘制1.基本绘图命名MATLAB中最常用的绘图函数为plot(),它是用于绘制二维