Matlab入门-02矩阵和数组
2.1 矩阵的创建与合并
2.1.1 创建简单的矩阵
(1)创建矩阵最简单的方法就是利用方括号 [ ] ,然后空格或者逗号作为同一行元素之间的分隔符,用分号作为不同行之间的分隔符。
(2)可以通过“初值:步长:终值”的方式创建向量。
- 如果没有指定步长,默认步长为1;
- 如果区间不是步长的整数倍,以初值为准。
2.1.2 创建特殊矩阵
(1)ones(n) :创建nn的所有元素为1的矩阵;
(2)eye(n) :创建nn的单位矩阵;
(3)rand(n,m) :创建n*m的均匀分布的随机数矩阵;
(4)randperm(n) :创建一个由1:n构成的随机数列。
(5)rand(‘state’,0) :设置随机数种子,便于读者验证。
2.1.3 矩阵的合并
- 表达式C=[A B],表示将矩阵A和B在水平方向合并到一起(A和B的行数要相同)
- 表达式C=[A ; B],表示将矩阵A和B在竖直方向合并到一起(A和B的列数要相同)
水平合并
竖直合并
2.2 矩阵的寻访和赋值
2.2.1 矩阵的标识
有三种方法:全下标标识法、单下标标识法和逻辑1标识法。
(1)全下标标识法
指出元素在矩阵的第几行、第几列。
例如,A(3,5)标识二维矩阵A的第3行第5列元素。
(2)单下标标识法
只用一个标识来指明元素在矩阵当中的位置,类似与下图:
元素a32=A(3,2)=A(6)
(3)逻辑1标识法
用于查找矩阵中大于或者小于某个值的元素,符合条件的返回1,例如:
2.2.2 矩阵的寻访
创建矩阵A=[1 2 3;4 5 6;7 8 9]
(1)全下标寻访
(2)单下标寻访
(3)逻辑1寻访
(4)利用冒号寻访全行
(5)利用冒号寻访全列
(6)寻访地址可以是向量,以同时寻访多个元素
例如:只寻访矩阵的第1列和第3列
只寻访矩阵的第1行和第3行
2.2.3 矩阵赋值
创建一个矩阵:A=magic(4)
(1)利用全下标法对单个元素赋值
(2)利用冒号,对某一列赋值(对某一行赋值类似)
(3)利用单下标法对某一元素进行赋值
2.3 进行数组运算的常用函数
2.3.1 函数数组运算规则的定义
函数的数组运算是指将函数作用于矩阵中的每一个元素,并将最后的结果另存为与原矩阵行数列数相同的矩阵。
2.3.2 进行数组运算的常用函数
2.4 查询矩阵信息
2.4.1 矩阵的形状信息
创建矩阵A:
(1)length(A) :返回矩阵A最长的一维的长度
因为矩阵A是3*5的
(2)numel(A) :返回矩阵A的元素个数
2.4.2 矩阵的数据类型
2.4.3 矩阵的数据结构
2.5 数组运算与矩阵运算
严格来说,矩阵是属于二维数组,在matlab中,数组运算和矩阵运算是有区别的:
数组的运算会在运算符左边加一个英文符号的小点 . ,例如:
乘法
1)矩阵乘法:
2)数组乘法:
总结:数组的运算是对应元素之间的运算,如C=A.*B,则会有:c23=a23 * b23
2.6 矩阵的重构
2.6.1 矩阵元素的扩展和删除
(1)矩阵元素的扩展
当将数据保存在矩阵现有维度以外的元素中时,矩阵的尺寸会自动增加,利用该功能来进行矩阵扩展。
例如:原始的矩阵A
将矩阵A扩展成为5*6的新矩阵:
(2)矩阵元素的删除
将行或列指定为空矩阵[ ],即可从矩阵中删除行和列。
例如:原始矩阵A
删除第3行:
再删除第2列:
2.6.2 矩阵的重构
用户通过矩阵旋转,改变维数和截取部分元素来产生所需要的新矩阵,有一些重构函数,如下所示: