一 矩阵的生成
1、单位矩阵
eye(n)生成n*n的单位矩阵
eye(n,m)生成n*m的单位矩阵
eye(size(B))生成与B同样大小的单位矩阵
2、全1矩阵
ones(n)
ones(n,m)
ones(size(A))
ones(1,2)生成一行两列的全一矩阵
与1类似
3、全0矩阵
用法同2
4、随机数矩阵
rand(n)生成n*n随机方阵,其他类似于2
5、randn
生成元素为正态分布随机数的矩阵,用法同4
6、线性间隔向量的生成
logspace(a,b)生成由50个10^a 到10^b之间的对数间隔点组成的行向量
logspace(a,b,n)生成由n个10^a 到10^b之间的对数间隔点组成的行向量
logspace(a,pi)生成由n个10^a 到pi之间的对数间隔点组成的行向量`
7、分块对角矩阵
blkdiag(a,b,c)生成由a,b,c构成的分块对焦矩阵
8、连接矩阵
cat(d,a,b,c)生成由a,b,c组成的d维矩阵
9、对角矩阵
diag
10、左右调换
fliplr(A)把A矩阵左右调换
flipud(A)上下调换
rot90(B)把B逆时针旋转90度
11、生成下三角矩阵
tril(B)生成矩阵B的下三角矩阵
tirl(B,k)生成B的第k条对角线的下三角矩阵
k=0时二者作用相同
triu则是上三角
12、生成伴随矩阵
compan(A)
13、生成魔方矩阵
magic(n)
二、 矩阵的操作
cat指定方向上合并矩阵
horzcat水平方向上合并矩阵
vertcat竖直方向上合并矩阵
repmat通过复制构造新矩阵
blkdiag通过已知矩阵构造对角矩阵
具体使用方法请参考相关手册或网页
三、矩阵信息的获取
size获取各个方向长度
length获取个方向长度的最大值
ndims获取矩阵维数
numel 获取矩阵元素个数
四、查询元素数据类型
class返回数据类型
isa是否为指定数据类型
ischar
isinteger
isfloat
islogical
isnumeric
isreal是否为实数
isstruct是否为结构体类型
isempty是否为空矩阵
isscalar是否为标量
issparse是否为稀疏矩阵
isvector是否为矢量
五、矩阵结构的改变
reshape重排矩阵元素
rot90旋转矩阵
fliplr以竖直方向为轴做镜像
flipud以水平方向为轴做镜像
flidim以制定轴为方向为轴做镜像
transpose转置
ctranspose共轭转置
六、对字符串的操作
字符串需要用单引号括起来,在合并时可以使用strcat()函数和合并符号‘[]’创建新的字符串。注意strcat在合并时会把串尾部的空格删除,首部的空格则不删除,如果要保留空格可以使用矩阵合并符号实现。在构造二维字符串数组时要保证每行具有相同的长度。不过不相同则需要添加空格实现。如果利用char()创建字符串数组则不必担心每行长度是不是相同,该函数会自动控制。
字符串的比较有下面的一些函数
strcmp比较字符串是否相等
strncmp比较指定位置的字符是否相同
strcmpi与上面的strcmp相同,但是忽略大小写
strncmpi与strncmp相同,只是忽略大小写
在对字符串运用关系运算符时要求两个字符串具有相同的长度,或者其中之一为标量
如:
str1='campus';
str2='camera';
vs=str1==str2;
结果:
vs=1 1 1 0 0 0
待更新