matlab矩阵及其运算(二)

2019-07-15 14:49:12 浏览数 (1)

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) 常用的矩阵运算命令

温馨提示

如果你喜欢本文,请分享朋友圈,想要获得更多信息,请持续关注我。

cat

0 人点赞