1、矩阵的拼接
矩阵的拼接有按照水平方向拼接和按照竖直方向拼接两种。
(a) 水平方向拼接:C = [A B]; 或 C= [A,B];
(b) 竖直方向拼接:C= [A;B];
【注意】水平拼接行数必须相同,竖直拼接列数必须相同。
例1.1
A=zeros(2)
B=eye(2)
C=[A,B]
%水平方向拼接
D=[A;B]
%竖直方向拼接
除了上面拼接方式,还可以用命令来进行矩阵拼接。
(c) cat函数用于按指定的方向连接矩阵,其调用格式为:
C= cat ( dim, A, B ):按照dim指定的方向连接矩阵A与B,构造出矩阵C。
C= cat ( dim, A1, A2, … ):A1, A2, …表示被连接的多个矩阵。
例1.2
clear all;
A1=[2 2;3 4]
A2=[5 6;7 8];
C1=cat(1,A1,A2)
%竖直拼接
C2=cat(2,A1,A2)
%水平拼接
C3=cat(3,A1,A2)
%三维数组
(d) repmat函数用于通过输入矩阵的复制拼接出一个大矩阵。调用格式如下:
B= repmat ( A, m, n) 或B=repmat ( A, [ m, n ])。B是由矩阵A的复制拼接而成的,纵向复制m次,横向复制n次,B中总共包含m*n个A。
例1.3
N=repmat(1,[3,3])
N =
1 1 1
1 1 1
1 1 1
(e) horzcat 函数用于对矩阵进行水平拼接。其调用格式如下:
C=horzcat ( A1, A2, … ):水平连接多个矩阵A1,A2,… ,参数列表中的所由矩阵都必须有相同的行数。
例1.4
A = magic(3);
B = rand(3)*10;
C=horzcat(A,B)
(f) vertcat函数用于竖直连接矩阵。其调用格式如下:
C=vertcat ( A1, A2,…):用于竖直连接多个矩阵A1,A2,…,参数列表中的所有矩阵都必须有相同的列数。该函数连接n维数组是沿第一维(即列)的方向。
例1.5
A = magic(3);
B = rand(3)*10;
C=vertcat(A,B)
(g) blkdiag 函数用于通过输入的矩阵构造一个块对角矩阵。其调用格式如下:
T = blkdiag(A,B,…):blkdiag函数用输入的矩阵A,B,…构造一个块对角矩阵T。
例1.6
2、矩阵的运算
(a) 算术运算
基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、(左除)、^(乘方)、’(转置)、.(点运算,用法为:.*、./、.和.^)。
(b) 关系运算
关系运算有:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。
例2.1
(c) 逻辑运算
逻辑运算有:&(与)、|(或)和~(非)。
例2.2
(d) 常用的矩阵运算命令
温馨提示
如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请持续关注我。