cat的用法matlab,MATLAB中“repmat”与“cat”函数的用法

MATLAB中“repmat”与“cat”函数的用法

1. repmat函数

>> z=repmat(5,2,3)

z =

5 5 5

5 5 5

>> y=repmat([6,5;7,9],3,4)

y =

6 5 6 5 6 5 6 5

7 9 7 9 7 9 7 9

6 5 6 5 6 5 6 5

7 9 7 9 7 9 7 9

6 5 6 5 6 5 6 5

7 9 7 9 7 9 7 9

>> x=repmat([1:5;2:6],2,3)

x =

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

2 3 4 5 6 2 3 4 5 6 2 3 4 5 6

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

2 3 4 5 6 2 3 4 5 6 2 3 4 5 6

repmat函数中第一个值是元素(或向量、矩阵)的值,第二个值为行数,第三个为列数。

z=repmat(5,2,3),生成2行3列元素为5的矩阵。

y=repmat([6,5;7,9],3,4),生成3行5列元素为[6,5;7,9]的分块矩阵。

x=repmat([1:5;2:6],2,3),生成3行5列元素为[1,2,3,4,5;2,3,4,5,6]的分块矩阵。

2. cat函数

先生成一些大小相同的矩阵

>> a=repmat(5,3,5)

a =

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

>> b=repmat(6,3,5)

b =

6 6 6 6 6

6 6 6 6 6

6 6 6 6 6

>> c=repmat(7,3,5)

c =

7 7 7 7 7

7 7 7 7 7

7 7 7 7 7

>> d=repmat(8,3,5)

d =

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

下面为cat函数的用法

>> e=cat(1,a,b,c,d)

e =

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

6 6 6 6 6

6 6 6 6 6

6 6 6 6 6

7 7 7 7 7

7 7 7 7 7

7 7 7 7 7

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

>> f=cat(2,a,b,c,d)

f =

5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8

5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8

5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8

>> g=cat(3,a,b,c,d)

g(:,:,1) =

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

g(:,:,2) =

6 6 6 6 6

6 6 6 6 6

6 6 6 6 6

g(:,:,3) =

7 7 7 7 7

7 7 7 7 7

7 7 7 7 7

g(:,:,4) =

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

>> h=cat(4,a,b,c,d)

h(:,:,1,1) =

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

h(:,:,1,2) =

6 6 6 6 6

6 6 6 6 6

6 6 6 6 6

h(:,:,1,3) =

7 7 7 7 7

7 7 7 7 7

7 7 7 7 7

h(:,:,1,4) =

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

一般用到三维,四维及以上很少用。

e=cat(1,a,b,c,d),将a, b, c, d矩阵按列排。

f=cat(2,a,b,c,d),将a, b, c, d矩阵按行排。

g=cat(3,a,b,c,d),g是一个三维阵(3*5*4),前两个维度和a, b, c, d的大小一样,第三个维度为a, b, c, d矩阵的个数:4。

h=cat(4,a,b,c,d),h是一个四维阵,h(:,:,1,i)=h(:,:,i)。如下所示:

>> h(:,:,1)

ans =

5 5 5 5 5

5 5 5 5 5

5 5 5 5 5

>> h(:,:,2)

ans =

6 6 6 6 6

6 6 6 6 6

6 6 6 6 6

>> h(:,:,3)

ans =

7 7 7 7 7

7 7 7 7 7

7 7 7 7 7

>> h(:,:,4)

ans =

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

以上就是repmat与cat函数的简单用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值