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向量化表达式