首页 技术 正文
技术 2022年11月15日
0 收藏 531 点赞 4,538 浏览 1349 个字

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 5g(:,:,2) = 6 6 6 6 6
6 6 6 6 6
6 6 6 6 6g(:,:,3) = 7 7 7 7 7
7 7 7 7 7
7 7 7 7 7g(:,:,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 5h(:,:,1,2) = 6 6 6 6 6
6 6 6 6 6
6 6 6 6 6h(:,:,1,3) = 7 7 7 7 7
7 7 7 7 7
7 7 7 7 7h(:,:,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函数的简单用法。

 

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,965
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,486
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,331
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,114
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,747
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,781