one(n) | 构建nXn的1矩阵,矩阵的元素全部是1 |
one(m,n) | 构建mXn的1矩阵 |
ones(size(A)) | 构建一个和矩阵A同样大小的1矩阵 |
zeros(n) | 0矩阵 |
zeros(m,n) | |
zeros(size(A)) | |
eye(n) | 单位矩阵 |
eye(m,n) | |
eye(size(A)) | |
magic(n) | 构建一个nXn的矩阵,其每一行每一列的元素之和都相等 |
rand(n) | 构建一个nXn的矩阵,其元素为0--1之间均匀分布的随机数 |
rand(m,n) | 构建一个mXn的矩阵,其元素为0--1之间均匀分布的随机数 |
fliplr(A) | 矩形每一行均进行逆序排序 |
flipud(A) | 矩阵每一列均进行逆序排列 |
rot90(A) | 生成一个由矩阵A逆时针旋转90度而得到的新矩阵 |
rot90(A,k) | 生产一个由矩阵A逆时针旋转k*90度而得到的新矩阵 |
reshape(A,m,n) | 生成一个mXn的矩阵,其元素以线性索引的顺序从矩阵A中取得,A中元素个数必须为mXn个 |
reshape(A,[m n ...p]) | 创建一个和矩阵A有相同元素的mXnX.....Xp多维元素 |
shiftdim(A,n) | 矩阵的列移动n步,n为正数,矩阵向左移动,n为负数,向右移动 |
squeeze(A) | 返回没有空维的矩阵A |
cat(dim,A,B) | 将矩阵组合A和B组合成一个dim维的多维矩阵 |
permute(A,order) | 根据向量order来改变矩阵A中的维书顺序 |
ipermute(A,order) | 根据命令permute的逆变换 |
sort(A) | 对一维矩阵或二维矩阵进行升序排序,并返回升序后的矩阵,当A是二维矩阵时,对矩阵的每一列分别进行排序 |
sort(A,dim) | dim=1时,对列进行排序,当dim=2时,对行进行排序 |
sort(A,dim,mode) | mode为ascend时,升序排序,mode为descend时,降序排序 |
[B,IX]=sort(A,....) | IX为排序后备元素在元矩阵中的行位置或列位置的索引 |
矩阵合并
C=[A B]在水平方向合并矩阵A和B
C=[A;B]在竖直方向上合并矩阵A和B
A=rand(3)
A'共轭矩阵
矩阵输出
A(1) 将二维矩阵A重组为一维数组,返回数组中的第一个元素
A(:,j) 返回二维矩阵A中第j列列向量
A(i,:) 返回二维矩阵A中第i行行向量
A(:,[j,k]) 返回二维矩阵A中的第j列到第k列列向量组成的子矩阵
A(I:k,:) 返回二维矩阵A中第i行到第k行行向量组成的矩阵
A(i:k,j:l) 返回二维矩阵A中第i行到第k行行向量,和第j列到第l列列向量的交集组成的子矩阵
A(:) 将矩阵A中的每列合并成一个长的列向量
A(j:k) 返回一个行向量,其元素为A(:)中的第j个元素到第k个元素
A([j1 j2 ..... ])返回一个行向量,其中的元素为A(:)中的第j1,j2....个元素
A(:,[j1 j2 ...]) 返回矩阵A中第j1,j2,..列的列向量
A([i1 i2 ...],:) 返回矩阵A中的第i1行,i2行。。。的行向量
A([i1 i2 ...],[j1 j2 ...]) 返回矩阵第i1行,第i2行。。和第j1列,第j2列等的元素
矩阵中某一元素的单下标索引值和双下标索引值之间,可以通过MATLAB内部函数进行转换,语法格式为: IND=sub2ind(siz,i,j)
其功能是将双下标索引值转换为单下标索引值,其中siz是一个包含两个元素的数组,一般直接用size(A)表示,i与j是双下标索引中的行、列的值,IND是转换后的单下标索引值
[I J]=ind2sub(siz,ind)
矩阵操作函数
ind=find(X) | 该函数查找矩阵X中的非零元素,函数返回这些元素的单下标 |
[I,j]=find(X) | 该函数查找矩阵X中的非零元素,函数返回这些元素的双下标i和j |
B=sum(A) | 该函数对矩阵A的元素求和,返回由矩阵A各列元素的和组成的向量 |
B=sum(A,dim) | 该函数返回在给定的维数dim上元素的和,dim=1时,计算矩阵A各列元素的和,dim=2时,计算矩阵A各行元素的和 |
B=prod(A) | 该函数对矩阵A的元素求积,返回由矩阵A各列元素的积组成的向量 |
B=prod(A,dim) | dim=1,计算矩阵A各列元素的积,dim=2,计算矩阵A各行元素的积 |
Y=diff(X) | 计算矩阵各列元素的差分 |
Y=diff(X,n) | 计算矩阵各列元素的n阶差分 |
Y=diff(X,n,dim) | 当dim=1时,计算矩阵各列元素的差分,dim=2时,计算矩阵各行元素的差分 |
isempty(A) | 检测矩阵是否为空 |
isscalar(A) | 检测矩阵是否是单元素的标量矩阵 |
isvector(A) | 检测矩阵是否是只具有一行或一列元素的一维向量 |
issparse(A) | 检测数组是否是稀疏矩阵 |
n=ndims(X) | 获取矩阵的维数 |
[m,n]=size(X) | 获取矩阵在各维上的长度 |
n=length(X) | 获取矩阵最长维的长度 |
n=numel(X) | 获取矩阵元素的个数 |
isnumeric | 检测矩阵元素是否为数值型变量 |
isreal | 实数数值型 |
isfloat | 浮点数值型 |
isinterger | 整形变量 |
ischar | 字符型 |
islogical | 逻辑类型 |
isstruct | 结构体型 |
算数运算
A+B A与B相加,A、B为数值或矩阵
A-B A与B相减,A、B为数值或矩阵
A*B A与B相乘,A、B为数值或矩阵
A.*B A与B相应元素相乘,A,B为同维度的矩阵
A/B A与B相除,A、B为数值或矩阵
A./B A与B相应元素相除,A、B为相同纬度的矩阵
A^B A的B次幂,A、B为数值或者矩阵
A.^B A的每个元素的B次幂,A为矩阵,B为数值