matlab作为一个大型的计算软件,里面有许多对数组的操作,所以数组的定义和数组的操作是一个必不可少的部分。
1 数组的定义
在matlab中对数组的定义较为灵活,因为特殊矩阵较多,所以有许多特定的定义方法。比较常见的有三种:
普通数组定义:用和C语言类似的定义方法,用分号隔开每行数据。
全零数组定义:zeros(x,y),x代表行数,y代表列数
全1数组定义:ones(x,y),x代表行数,y代表列数
2 数组中元素的调用
设 A 是一个矩阵,则在 MATLAB 中用如下符号表示它的元素:
A(i,j)表示矩阵 A 的第 i 行第 j 列元素。
A(:,j)表示矩阵 A 的第 j 列。
A(i,:)表示矩阵 A 的第 i 行。
A(:,:)表示 A 的所有元素构造 2 维矩阵
A(:)表示以矩阵 A 的所有元素按列构成的一个列矩阵。
A(i)表示矩阵 A(:)的第 i 个元素。这个是按照一列一列数的。
3 数组的函数
数组的运算非常的多,在此只阐述几种最常见的
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 | 向量化表达式 |