矩阵是MATLAB数据存储的基本单元,而矩阵的运算是MATLAB语言的核心,在MAT-LAB语言系统中,几乎一切运算均是以对矩阵的操作为基础的。
2.2.2.1 矩阵的生成
1.直接输入法
从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下5点:
1)输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。
2)矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。
3)矩阵大小不需要预先定义。
4)矩阵元素可以是运算表达式。
5)若“[ ]”中无元素,表示空矩阵。
另外,在MATLAB语言中冒号的作用是最为丰富的。首先,可以用冒号来定义行向量。
例如:
其次,通过使用冒号,可以截取指定矩阵中的一部分。例如:
通过上例可以看到B是由矩阵A的1~2行和相应的所有列的元素构成的一个新矩阵。在这里,冒号代替了矩阵A的所有列。
2.特殊矩阵的生成
对于一些比较特殊的矩阵(单位矩阵、矩阵中含1或0较多),由于其具有特殊的结构,MATLAB提供了一些函数用于生成这些矩阵,常用的有下面5个:
zeros(m)生成m阶全0矩阵
eye(m)生成m阶单位矩阵
ones(m)生成m阶全1矩阵
rand(m)生成m阶均匀分布的随机矩阵
randn(m)生成m阶正态分布的随机矩阵
2.2.2.2 矩阵的基本数学运算
矩阵的基本数学运算包括矩阵的四则运算、与常数的运算、逆运算、行列式运算、秩运算、特征值运算等基本函数运算,这里进行简单介绍。(www.xing528.com)
1.四则运算
矩阵的加、减、乘运算符分别为“+、-、∗”,用法与数字运算几乎相同,但计算时要满足其数学要求(如同型矩阵才可以加、减)。
在MATLAB中,矩阵的除法有两种形式:左除“\”和右除“/”。在传统的MATLAB算法中,右除是先计算逆矩阵再相乘,而左除则不需要计算逆矩阵直接进行除运算。通常右除要快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。
2.与常数的运算
常数与矩阵的运算即是同该矩阵的每一个元素进行运算。但需注意进行数除时,常数通常只能作为除数。
3.基本函数运算
矩阵的函数运算是矩阵运算中最为实用的部分,常用的主要有以下5个:
2.2.2.3 矩阵的数组运算
在进行工程计算时,常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的数学运算,为有所区别,称之为数组运算,习惯上称为“点运算”。
1.基本数学运算
数组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两∙同∙维∙数∙组∙对∙应∙元∙素∙之∙间∙的∙乘∙除∙法∙,它们的运算符为“.∗”和“./”或“.\”。前面讲过常数与矩阵的除法运算中常数只能作为除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。
另外,矩阵的数组运算中还有幂运算(运算符为.^)、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等。有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。
例如:
由上例可见,矩阵的幂运算与数组的幂运算有很大的区别。
2.逻辑关系运算
逻辑运算是MATLAB中数组运算所特有的一种运算形式,也是几乎所有高级语言普遍适用的一种运算,它们的具体符号、功能及用法见表2-2。
表2-2 逻辑运算
(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。