MATLAB —— 向量,矩阵,数组
目录
MATLAB —— 向量,矩阵,数组
一、向量
1、向量定义
2、引用向量元素
3、向量运算
二、矩阵
1、矩阵定义
2、引用矩阵
3、矩阵运算
三、数组
一、向量
1、向量定义
向量是数字的一维数组。有两种类型,一种是行向量(逗号或空格分隔),一种是列向量(分号分隔)。
行向量:a = [1, 2, 3, 4, 5, 6]; a = [1:100]; %1-100的数据 a = [1:5:100]; %从1-100以5位间隔
列向量:a = [1; 2; 3; 4; 5; 6];
2、引用向量元素
使用索引来引用,i从1到length。如a(5) = 5;
使用:来引用,a(:) % 列出向量所有元素 a(1:3) %引用前3个元素
3、向量运算
加减:各元素的加减;
标量乘: a = [1, 2, 3, 4, 5]; b = 3 * a; disp(b);
转置:行列互换 a = [1, 2, 3, 4, 5]; b = a'; disp(b);
点积:a = [1, 2, 3, 4, 5]; b = [1, 2, 3, 4, 5]; c = dot(a, b); disp(c);
二、矩阵
1、矩阵定义
矩阵是数字的二维数组。
a = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % 3行3列 可以是m行n列
2、引用矩阵
mx(m, n) % 第m行第n列元素
b = a(:, 2); % 矩阵a的第二列所有数据
b = a(:, 2 : 3); % 矩阵a的2到3的所有数据
a(1, :) = []; % 删除第一行
a(:, 1) = []; % 删除第一列
3、矩阵运算
加减:各元素相加减
除法:/ \ 左除法或者右除法
标量运算:加减乘除(各元素的加减乘除)
转置: b = a'; % '转置运算符
连接: 水平连接 a = [1, 2, 3; 1, 2, 3]; b = [4, 5, 6; 4, 5, 6]; c = [a, b];
垂直连接 a = [1, 2, 3; 1, 2, 3]; b = [4, 5, 6; 4, 5, 6]; c = [a; b];
乘法:第一矩阵中的行与第二矩阵中的列相乘。
行列式:det(a)
逆转:inv(a)
三、数组
zeros()创建全0数组,ones()创建全1数组,eye()创建单位矩阵, rand()创建0-1上的随机数数组, magic()魔术方阵。
多维数组可以看成n个二维数组。
| 函数 | 说明 | 
| length | 向量的大小或数组的长度 | 
| ndims | 数组的维数 | 
| numel | 数组的元素数量 | 
| size | 数组的长度 | 
| iscolumn | 确定输入是否为列向量 | 
| isempty | 确定数组是否为空 | 
| ismatrix | 确定输入是否为矩阵 | 
| isrow | 确定输入是否为行向量 | 
| isscalar | 确定输入是否为标量 | 
| isvector | 确定输入是否为向量 | 
| blkdiag | 从输入参数构造块对角矩阵 | 
| circshift | 循环移位 | 
| ctranspose | 复共轭转置 | 
| diag | 矩阵对角矩阵和对角线 | 
| flipdim | 沿着指定的尺寸翻转数组 | 
| fliplr | 从左到右翻转矩阵 | 
| flipud | 向下翻转矩阵 | 
| ipermute | 反转N-D阵列的置换维度 | 
| permute | 重新排列N-D数组的维度 | 
| repmat | 复制和平铺数组 | 
| reshape | 重塑数组 | 
| rot90 | 旋转矩阵90度 | 
| shiftdim | 移动维度 | 
| issorted | 确定设置元素是否按排序顺序 | 
| sort | 按升序或降序排列数组元素 | 
| sortrows | 按升序排列行 | 
| squeeze | 删除单例维度 | 
| transpose | 转置 | 
| vectorize | 向量化表达式 |