matlab中reshape 重构数组
来源:https://ww2.mathworks.cn/help/matlab/ref/reshape.html?searchHighlight=reshape&s_tid=doc_srchtitle
eshape
重构数组
说明
将 B = reshape(A,sz1,...,szN)A 重构为一个 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。可以指定 [] 的单个维度大小,以便自动计算维度大小,以使 B 中的元素数与 A 中的元素数相匹配。例如,如果 A 是一个 10×10 矩阵,则 reshape(A,2,2,[]) 将 A 的 100 个元素重构为一个 2×2×25 数组。
示例
将向量重构为矩阵
将矩阵重构为具有指定的列数
将一个 4×4 方阵重构为一个 2 列矩阵。为第一个维度指定 [] 以使 reshape 自动计算合适的行数。
A = magic(4)
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B = reshape(A,[],2)
B = 8×2
16 3
5 10
9 6
4 15
2 13
11 8
7 12
14 1
结果是一个 8×2 矩阵,它的元素数量与原始矩阵相同。B 也保持其在 A 中的列顺序。
将多维数组重构为矩阵
将由零组成的 3×2×3 数组重构为 9×2 矩阵。
A = zeros(3,2,3);
B = reshape(A,9,2)
B = 9×2
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
输入参数
A - 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration
复数支持: 是
sz - 输出大小
由整数组成的行向量
输出大小,指定为由整数组成的行向量。sz 的每个元素指示 B 中对应维度的大小。必须指定 sz,以便 A 和 B 中的元素数目相同。即,prod(sz) 必须与 numel(A) 相同。
对于第二个维度以上的维度,输出 B 不反映大小为 1 的尾部维度。例如,reshape(A,[3,2,1,1]) 生成 3×2 矩阵。
示例: reshape(A,[3,2])
示例: reshape(A,[6,4,10])
示例: reshape(A,[5,5,5,5])
sz1,...,szN - 每个维度的大小
两个或以上的整数 | [](可选)
每个维度的大小,指定为具有最多一个 [](可选)的两个或以上的整数。必须至少指定 2 个维度大小,并且最多一个维度大小可以指定为 [],这样会自动计算该维度的大小以确保 numel(B) 与 numel(A) 相匹配。当使用 [] 自动计算维度大小时,您显式指定的维度必须均匀划分为输入矩阵 numel(A) 中的元素数目。
对于第二个维度以上的维度,输出 B 不反映大小为 1 的尾部维度。例如,reshape(A,3,2,1,1) 生成 3×2 矩阵。
示例: reshape(A,3,2)
示例: reshape(A,6,[],10)
示例: reshape(A,2,5,3,[])
示例: reshape(A,5,5,5,5)
输出参数
B - 重构的数组
向量 | 矩阵 | 多维数组 | 元胞数组
重构的数组,以向量、矩阵、多维数组或元胞数组的形式返回。B 中的数据类型和元素数与 A 中的数据类型和元素数相同。B 保持其在 A 中的列顺序。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
C/C++ 代码生成
使用 MATLAB Coder 生成 C 代码和 C++ 代码。
用法说明和限制:
如果输入是编译时空元胞数组,则大小参数必须为常量。
大小参数必须具有固定大小。
请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
对于稀疏矩阵,
reshape函数不支持将尾部参数作为在前两个维度后的输入。
GPU 数组
通过使用 Parallel Computing Toolbox 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox 在群集的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
matlab中reshape 重构数组的更多相关文章
- matlab中元胞数组(cell)转换为矩阵
matlab中元胞数组(cell)转换为矩阵. cell转换为矩阵函数为:cell2mat(c),其中c为待转换的元胞数组: 转化之后的矩阵可能不满足我们对矩阵维数的要求,那么也许还需要下面两个函数: ...
- matlab中的字符串数组与函数调用
1, matlab中的字符串就是1维字符数组,即如: a = 'dddssd'; b = 'lsde'; c = [a, b]; 当然也可以: c= strcat(a, b); 2, matlab中的 ...
- MATLAB中的结构数组
MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维 ...
- Matlab中reshape函数的使用
reshape把指定的矩阵改变形状,但是元素个数不变, 例如,行向量: a = [1 2 3 4 5 6] 执行下面语句把它变成3行2列: b = reshape(a,3,2) 执行结果: b = 1 ...
- matlab中元胞数组的创建与内容读取
一.创建元胞数组 1.用cell命令创建规格为2*2的空元胞 >> a=cell(2,2) a = [] [] [] [] 2.用大括号"{}"创建元胞数组并赋值 &g ...
- matlab中的数组与矩阵
今天做图像处理时,看到一个矩阵的处理,简要谈谈下面几段代码: 首先是介绍矩阵(说明:在matlab中无是数组还是矩阵都是按列来存储的) 首先是一些特殊矩阵的建立 zeros(m,n)%建立全0矩阵 o ...
- matlab结构体、数组和单元数组类型的创建
matlab结构体.数组和单元数组类型的创建 @ 目录 matlab结构体.数组和单元数组类型的创建 matlab结构体类型 数组类型 单元数组类型 matlab结构体类型 通过字段赋值创建结构体 创 ...
- 学习笔记8—MATLAB中奇异值处理办法
一.Inf 和 NAN处理 lnf: 无穷大值,可以用islnf或者isfinite函数处理 NAN:不是一个数字,可以用isnan函数来处理 或者: 类似于这种处理 mn(find(mn<= ...
- 如何使用matlab中的胞元数组
胞元数组(cell Arry)的基本组分是胞元(cell),每个胞元本身在数组中是平等的,只能以下标区分.胞元可以存放任何类型.任何大小的数组,如任意维数值数组.字符串数组.符号对象等,而且同一个胞元 ...
随机推荐
- Istio可观测性
Istio可观测性 Istio的可观测性包括metrics,日志,分布式链路跟踪以及可视化展示.下面主要介绍如何在istio中部署基于Prometheus的metrics监控,基于jaeger的链路跟 ...
- markdown 语法总结(一)
1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // 错误代码 ######## h8 // 错误 ...
- linux 文件类型和权限
linux 文件类型和权限 ls -l 显示: [user@wyf-201 ~]$ ll total 0 -rw-rw-r--. 1 user user 0 Aug 27 10:49 1.txt dr ...
- nginx模块化结构
NGINX是一个免费.开源.高性能.轻量级的HTTP和反向代理服务器,也是一个电子邮件(IMAP/POP3)代理服务器 特点: 占有内存少,并发能力强 Nginx的优点: 模块化.事件驱动.异步.非阻 ...
- 【极致丝滑】彻底摆脱编辑器插件,利用postcss灵活可控地转换px至vw
背景 旧的rem适配方案(无论是直接使用rem,还是配合flexiblejs等lib库进行视口缩放)已经疲态尽显,且随着安卓高清屏的不断出现,同时data-dpr仍有进一步增加的可能性,rem显得并不 ...
- 车联网容器应用探索:5G下边缘云计算的车路协同实践
导语 | 5G网络下,多接入边缘计算(MEC)应运而生.结合TKEStack强大的集群管理能力和异构计算资源管理能力,腾讯打造了一个功能完备的边缘计算PaaS平台TMEC,提供了高精确度定位.视频处理 ...
- 基于jQuery的鼠标悬停时放大图片的效果制作
这是一个基于jQuery的效果,当鼠标在小图片上悬停时,会弹出一个大图,该大图会跟随鼠标的移动而移动.这个效果最初源于小敏同志的一个想法,刚开始做的时候只能实现弹出的图片是固定的,不能随鼠标移动,最后 ...
- Java面试炼金系列 (1) | 关于String类的常见面试题剖析
Java面试炼金系列 (1) | 关于String类的常见面试题剖析 文章以及源代码已被收录到:https://github.com/mio4/Java-Gold 0x0 基础知识 1. '==' 运 ...
- Django+pycharm+mysql 实现用户登录/注册(Django五)
首先是让Django项目与mysql数据库初步建立连接 具体做法见:pycharm连接mysql(注意其中第二步MySQL驱动最好安装最新版的) 这里讲一下我在做这一步遇到的问题.一般Driver 那 ...
- [LeetCode]Sql系列2
题目 1205. 每月交易II Transactions 记录表 +----------------+---------+ | Column Name | Type | +-------------- ...