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

 

MATLAB中“repmat”与“cat”函数的用法的更多相关文章

  1. matlab中,计算,记录,程序运行,起始,结束 时间,间隔 &matlab中 tic,toc函数的用法

    Tic和toc函数可以计算运行一段时间的代码. 例如: clc tic d=zeros(1,10000); for i=1:10000 d(i)=i; end toc tic c=1; for i=1 ...

  2. matlab中repmat函数的用法(堆叠矩阵)

    matlab中repmat函数的用法 B = repmat(A,m,n) B = repmat(A,[m n]) B = repmat(A,[m n p...]) 这是一个处理大矩阵且内容有重复时使用 ...

  3. matlab中的输出显示函数

    matlab中的输出显示函数 在matlab中使用的显示函数有disp.sprintf.fprintf比较常用.下面来介绍一下他们的用法. 1.disp()函数: disp(x)主要是用来输出变量x的 ...

  4. MATLAB中trapz和cumtrapz函数

    这两个函数都是MATLAB中的内置函数,是基于梯形法则的数值积分公式 例如我们有函数y=x^3-2x-3,为了计算在[0,1]上的积分,可以这么做: 其中x和y分别是自变量和对应的值,trapz其实就 ...

  5. C++中rand()函数的用法

    C++中rand()函数的用法   2011-12-30 11:03:59|  分类: C / C++|举报|字号 订阅 一.C++中不能使用random()函数 random函数不是ANSI C标准 ...

  6. Pytorch中randn和rand函数的用法

    Pytorch中randn和rand函数的用法 randn torch.randn(*sizes, out=None) → Tensor 返回一个包含了从标准正态分布中抽取的一组随机数的张量 size ...

  7. matlab中norm与svd函数用法

    格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释: NORM Matrix or vector ...

  8. matlab中imfilter、conv2、imfilter2用法及区别

    来源 :https://blog.csdn.net/u013066730/article/details/56665308(比较详细) https://blog.csdn.net/yuanhuilin ...

  9. matlab中fopen 和 fprintf函数总结

    matlab中fopen函数在指定文件打开的实例如下: *1)"fopen"打开文件,赋予文件代号. 语法1:FID= FOPEN(filename,permission) 用指定 ...

随机推荐

  1. 数据库 【redis】 命令大全

    以下纯属搬砖,我用Python抓取的redis命令列表页内容 如果想看命令的具体使用可查去官网查看,以下整理为个人查找方便而已 地理位置GEOADD 将指定的地理空间位置(纬度.经度.名称)添加到指定 ...

  2. Redux进阶(一)

    State的不可变化带来的麻烦 在用Redux处理深度复杂的数据时会有一些麻烦.由于js的特性,我们知道当对一个对象进行复制时实际上是复制它的引用,除非你对这个对象进行深度复制.Redux要求你每次你 ...

  3. 第4章 简单的C程序设计——选择结构程序设计

    在顺序结构中,各语句是按自上而下的顺序执行的,执行完上一个语句就自动执行下一个语句,是无条件的,不必作任何判断.实际上,很多情况下,需要根据某个条件是否满足来决定是否执行指定的操作任务,或者从给定的两 ...

  4. Python-图像处理库PIL图像变换transpose和transforms函数

    1.transpose有这么几种模式FLIP_LEFT_RIGHT ,FLIP_TOP_BOTTOM ,ROTATE_90 ,ROTATE_180 ,ROTATE_270,TRANSPOSE ,TRA ...

  5. python中的2、8、16、10进制之间的转换

    python除法的坑 众所周知,python除法有两个运算符,一个是/,还有一个是//,那么这两个有什么不同之处呢? 从图片可以得知,使用//返回一个float类型,而使用/返回一个int类型.我们总 ...

  6. Linux 虚拟网络设备 veth-pair 详解,看这一篇就够了

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 前面这篇文章介 ...

  7. wiringPi库的pwm配置及使用说明

    本文介绍树莓派(raspberry pi)在linux c 环境下的硬件pwm配置及使用方法. 1. 下载安装wiringPi 此步骤建议参考官网指南,wiringPi提供了对树莓派的硬件IO访问,包 ...

  8. 求解: Windows Phone XAML Controls 为什么是disable状态?

    问题 : 我在做一个windows phone 的App,显示一个web 返回来的data,现在想用控件ListView 去绑定这个Data,但是 为何我的VS2012 中的 ToolBox 的XAM ...

  9. 2.2Bind建立配置文件和实体的映射「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 新建MVC项目 这次我们没有使用控制台项目,而是使用mvc来测试. 如下图所示,选择空的项目,建完后,记得把项目设 ...

  10. .NET(C#、VB)移动开发——Smobiler平台控件介绍:TextTabBar控件

    TextTabBar控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个TextTabBar控件到窗体界面上 ...