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),每个胞元本身在数组中是平等的,只能以下标区分.胞元可以存放任何类型.任何大小的数组,如任意维数值数组.字符串数组.符号对象等,而且同一个胞元 ...
随机推荐
- vue前端获取env中的常量
process.env.常量名 如:process.env.MIX_APP_URL
- TDengine能比Hadoop快10倍?
之前对国产的时序大数据存储引擎 TDengine 感兴趣,因为号称比Hadoop快十倍,一直很好奇怎么实现的,所以最近抽空看了下白皮书和设计文档. 如果用一句话总结,就是 TDengine 是为特定的 ...
- Palindrome subsequence(区间dp+容斥)
In mathematics, a subsequence is a sequence that can be derived from another sequence by deleting so ...
- hdu6075 2019CCPC网络选拔赛1004 path
题意:给定一个带权有向图,有q组询问,每次询问在有向图的所有路径中,第k小的路径权值 解题思路:因为k最大只有5e4,考虑暴力搜索出前maxk小的路径并用数组记录权值,然后就可以O(1)查询. 具体实 ...
- linux 文件系统和磁盘
linux 文件系统和磁盘 1.文件系统 ext2, ext3, ext4 , XFS ext3和ext4为日志文件系统 文件系统格式 : 磁盘格式化为 inode和block inode是索引,记录 ...
- webstorm编写vue、react 将大驼峰组件命名转换成短横杠命名
大家好!我是木瓜太香,精通 webstorm 与常见前端技术的工程师,偶尔也在b站搞一些 webstorm 技巧教学,今天给大家带来的是大驼峰小驼峰快速转换短横杠命名或者下划线命名的方式. 开发中我们 ...
- Zookeeper启动流程分析
前言 之前的Zookeeper协议篇-Paxos算法与ZAB协议通过了解Paoxs算法开始,到Zab协议的两大特性:崩溃恢复和消息广播,学习了Zookeeper是如何通过Zab协议实现高可用,本篇主要 ...
- 单应用模式 - Layuiadmin单页版放入TP6.0的部署方案
thinkphp6.0.3单应用模式.layuiadmin1.4.0单页版,不需要tp的视图驱动 1. 复制 src.start 两个文件夹 2. 粘贴到 thinkphp 的 public 目录下 ...
- python sha256 键值对参数格式接口测试
# coding=utf-8 import requests import time import uuid import hashlib import hmac import random impo ...
- conda和pip重新配置源
conda设置源之后出现了问题,报错condaHTTPError: 之前按照网上的一些教程设置了清华源之后,过了一段时间,今天来装新的库时报了以上错误,特此记录一下. conda 源重新设置 重新去清 ...