• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

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函数的简单用法。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB学习笔记1——基操与矩阵输入发布时间:2022-07-18
下一篇:
matlab的rapmat()函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap