MATLAB中“repmat”与“cat”函数的用法
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”函数的用法的更多相关文章
- 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 ...
- matlab中repmat函数的用法(堆叠矩阵)
matlab中repmat函数的用法 B = repmat(A,m,n) B = repmat(A,[m n]) B = repmat(A,[m n p...]) 这是一个处理大矩阵且内容有重复时使用 ...
- matlab中的输出显示函数
matlab中的输出显示函数 在matlab中使用的显示函数有disp.sprintf.fprintf比较常用.下面来介绍一下他们的用法. 1.disp()函数: disp(x)主要是用来输出变量x的 ...
- MATLAB中trapz和cumtrapz函数
这两个函数都是MATLAB中的内置函数,是基于梯形法则的数值积分公式 例如我们有函数y=x^3-2x-3,为了计算在[0,1]上的积分,可以这么做: 其中x和y分别是自变量和对应的值,trapz其实就 ...
- C++中rand()函数的用法
C++中rand()函数的用法 2011-12-30 11:03:59| 分类: C / C++|举报|字号 订阅 一.C++中不能使用random()函数 random函数不是ANSI C标准 ...
- Pytorch中randn和rand函数的用法
Pytorch中randn和rand函数的用法 randn torch.randn(*sizes, out=None) → Tensor 返回一个包含了从标准正态分布中抽取的一组随机数的张量 size ...
- matlab中norm与svd函数用法
格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释: NORM Matrix or vector ...
- matlab中imfilter、conv2、imfilter2用法及区别
来源 :https://blog.csdn.net/u013066730/article/details/56665308(比较详细) https://blog.csdn.net/yuanhuilin ...
- matlab中fopen 和 fprintf函数总结
matlab中fopen函数在指定文件打开的实例如下: *1)"fopen"打开文件,赋予文件代号. 语法1:FID= FOPEN(filename,permission) 用指定 ...
随机推荐
- windows系统库
内部组件 这些程序库文件通常不会被程序直接使用,不过它们却是用来实现其他程序库功能的重要程序库. Hal.dll Windows系统的硬件抽象层就是由Hal.dll实现[1].HAL提供很多函数,而这 ...
- pytest进阶之html测试报告
前言 Pytest系列已经写了几篇文章了,也不知道对多少人有帮助,总之对于我自己来说该掌握的都已经掌握了,那么今天我们再来说说pytest如何生成一个完整的html测试报告,让你在吹牛逼的路上再多一份 ...
- 【Android Studio安装部署系列】二、Android Studio开发环境搭建
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio开发环境安装步骤 下载Android Studio 下载地址: http://www.wanandroi ...
- es6学习笔记-class之一概念
前段时间复习了面向对象这一部分,其中提到在es6之前,Javasript是没有类的概念的,只从es6之后出现了类的概念和继承.于是乎,花时间学习一下class. 简介 JavaScript 语言中,生 ...
- vscode local attach 和 remote debug
VSCode是MS推出的一款免费的开源并跨平台的轻量级代码编辑器,内置Git和Debug等常用功能,强大的插件扩展功能以及简单的配置几乎可以打造成任意编程语言的IDE.本文简单聊一下其本地attach ...
- EF Core 快速上手——EF Core的三种主要关系类型
系列文章 EF Core 快速上手--EF Core 入门 本节导航 三种数据库关系类型建模 Migration方式创建和习修改数据库 定义和创建应用DbContext 将复杂查询拆分为子查询 本 ...
- 【转载】SQL语句中Union和Union All的区别
在使用到SQL语句进行数据库查询的过程中,如果需要求两个数据集合的并集,一般会使用到联合查询关键字Union或者Union All,其实Union和Union All两者的使用有一定差别,查出来的数据 ...
- 《C#并发编程经典实例》学习笔记—2.2 返回完成的任务
问题: 如何实现一个具有异步签名的同步方法. 从异步接口或基类继承代码,但希望用同步方式实现方法. 解释一下所谓的异步接口和异步基类.例如如下代码 interface IMyAsyncInterfac ...
- C# 设置程序启动项
托盘图标设置 新建一个NotifyIcon,会在托盘处显示一个图标. NotifyIcon.Icon可以直接设置一个ico图片,也可以延用原有程序的图标. notifyIcon.Icon = Syst ...
- (摘)timeout Timeout时间已到.在操作完成之前超时时间已过或服务器未响应的几种情况
Timeout时间已到.在操作完成之前超时时间已过或服务器未响应 问题 在使用asp.net开发的应用程序查询数据的时候,遇到页面请求时间过长且返回"Timeout时间已到.在操作完成之间超 ...