reshape - 重构数组

功能:

B = reshape(A, sz);
按矢量sz定义的维度(包括行数 列数 维数)重构矩阵A来得到矩阵B

实现原理

先将矩阵A先排列成一列(结果感受就是按列优先排列),再按照矢量sz定义大小的行数切割

结构及实例

A = rand(4,5)

0.3537    0.6694    0.6692    0.3119    0.8322
0.6230    0.1045    0.5429    0.9518    0.3994
0.6557    0.4872    0.5621    0.9596    0.4807
0.1019    0.2323    0.9449    0.1287    0.2518

1. B = reshape(A, m, n)
返回m * n的矩阵 (m:行数,n:列数)

B = reshape(A, 10, 2)

0.3537    0.5621
0.6230    0.9449
0.6557    0.3119
0.1019    0.9518
0.6694    0.9596
0.1045    0.1287
0.4872    0.8322
0.2323    0.3994
0.6692    0.4807
0.5429    0.2518

2. B = reshape(A, m, n, p)
返回m * n * p的矩阵(m:行数,n:列数, p:维度)

B = reshape(A, 5, 2, 2)B(:,:,1) =0.3537    0.1045
0.6230    0.4872
0.6557    0.2323
0.1019    0.6692
0.6694    0.5429B(:,:,2) =0.5621    0.1287
0.9449    0.8322
0.3119    0.3994
0.9518    0.4807
0.9596    0.2518

3. B = reshape(A, size)
返回和矢量size维度一致的矩阵

  • B = reshape(A, [2,5,2])
    sz:[2,5,2]

    B(:,:,1) =

    0.3537 0.6557 0.6694 0.4872 0.6692
    0.6230 0.1019 0.1045 0.2323 0.5429

    B(:,:,2) =

    0.5621 0.3119 0.9596 0.8322 0.4807
    0.9449 0.9518 0.1287 0.3994 0.2518

  • B = reshape(A, [1,5,2,2])
    sz:[1,5,2,2]
    B(:,:,1,1) =

    0.3537 0.6230 0.6557 0.1019 0.6694

    B(:,:,2,1) =

    0.1045 0.4872 0.2323 0.6692 0.5429

    B(:,:,1,2) =

    0.5621 0.9449 0.3119 0.9518 0.9596

    B(:,:,2,2) =

    0.1287 0.8322 0.3994 0.4807 0.2518

注意点

  1. 得到的矩阵B中的元素和A相同

  2. 排列顺序列优先(先按列取数据,再按照size维度先按列排列)
    ==>所以中间不管经过多少次reshape,最后只要size矢量大小和size(A)相同,就能还原回A。以以上的例子B = reshape(A, [2,5,2])来说,C = reshape(B, size(A))
    C =
    0.3537 0.6694 0.6692 0.3119 0.8322
    0.6230 0.1045 0.5429 0.9518 0.3994
    0.6557 0.4872 0.5621 0.9596 0.4807
    0.1019 0.2323 0.9449 0.1287 0.2518
    ==> 和最初定义的A相同

  3. prod(sz)必须和numel(A)相同,即元素数量要相同,否则会报错
    【说明】prod(sz): 矢量sz元素的乘积, numel(A): 数组A中元素个数(20))

  4. 矢量size至少包含2个元素,否则报错

  5. 如果应用中想按行顺序优先排列,可以先对A进行转置,即reshape(a`,sz),或者得到结果之后再转置
    A =

    0.3537 0.6694 0.6692 0.3119 0.8322
    0.6230 0.1045 0.5429 0.9518 0.3994
    0.6557 0.4872 0.5621 0.9596 0.4807
    0.1019 0.2323 0.9449 0.1287 0.2518
    B = reshape(A’,[4,5])
    B =

    0.3537 0.8322 0.9518 0.5621 0.2323
    0.6694 0.6230 0.3994 0.9596 0.9449
    0.6692 0.1045 0.6557 0.4807 0.1287
    0.3119 0.5429 0.4872 0.1019 0.2518
    注意到排列顺序是行优先

matlab函数之reshape()相关推荐

  1. 2021-01-28 粒子群优化算法-Python版本和Matlab函数 particleswarm 调用

    粒子群优化算法-Python版本和Matlab函数 particleswarm 调用 前两天分享了粒子群优化算法的原理和Matlab原理实现,本文分享一下Python代码下的PSO实现以及Matlab ...

  2. matlab2c使用c++实现matlab函数开发配置全解

    全栈工程师开发手册 (作者:栾鹏) github: https://github.com/data-infra/matlab2c matlab2c动态链接库下载 matlab库函数大全 matlab2 ...

  3. opencv通过dll调用matlab函数,图片作为参数

    [blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数                   前文介绍了如何"csharp通过dll调用opencv函数,图片作为参数 ...

  4. MATLAB函数大全 .

    http://pleasaunce.blog.sohu.com/94162301.html   网上看到的,很珍贵,怕人家删了,就自己考过来了 附录1 常用命令 附录1.1 管理用命令 函数名 功能描 ...

  5. MATLAB函数汇总

    Matlab 函数参数汇总 MATLAB函数参考 附录1.1 管理用命令 函数名 功能描述 函数名 功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matla ...

  6. MATLAB 函数大全

    附录1 常用命令 附录1.1 管理用命令 函数名 功能描述 函数名 功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文 ...

  7. 《数字图像处理》冈萨雷斯,Matlab函数汇总 .

    <数字图像处理>冈萨雷斯,Matlab函数汇总 . 图像显示 colorbar 显示彩条 getimage 由坐标轴得到图像数据 ice(DIPUM) 交互彩色编辑 image 创建和显示 ...

  8. 非常全的 matlab 函数

    一.常用对象操作:除了一般windows窗口的常用功能键外. 1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看. 2.who 可以查看当前工作空间变量名, who ...

  9. MATLAB 函数速查手册目录

      第 1 章 MATLAB 操作基础   第 2 章 矩阵及其基本运算   第 3 章 数值计算函数 第 4 章 符号运算函数 第 5 章 概率统计 第 6 章 绘图与图形处理 第 7 章 MATL ...

最新文章

  1. JQuery制作的toolTip,针对图片预览效果
  2. 【shell 大系】Linux Shell常用技巧
  3. echo,printr,print_r之间的区别
  4. nfs服务器实现文件共享,NFS服务器及Samba服务配置实现文件共享(示例代码)
  5. 华大单片机m4内核的滴答定时器_微处理器、单片机及其外设,处理还是控制?...
  6. python tfidf特征变换_机器学习的“万能模板” - 数据分析
  7. MySQL常用数据类型以及内置函数
  8. iPhone 12s渲染图曝光,刘海变小了!
  9. CentOS7救援模式以及救援模式的网络配置
  10. Linux使用FlowScan
  11. Spring IOC基础使用
  12. nginx upstream 代理 负载
  13. 100行python代码能做什么,100行python代码实现跳一跳辅助程序
  14. 学生简单个人博客网页DW模板 简单HTML静态网页设计个人主页制作 大学生个人网站模板下载 网页作业个人主页制作
  15. 虚幻airsim1:下载安装
  16. Android 汽车电子功能安全模块化设计思路
  17. Axure原型APP设计规范
  18. VMWARE启动失败
  19. 5分钟之内,让你轻松掌握面试流程
  20. python实现简易数独小游戏

热门文章

  1. 云服务器网站直接域名登录,[一叶花开]网站搭建-天翼云服务器跳过备案实现可直接访问IP地址以及解析域名...
  2. 随记-简单而优雅的 namedtuple
  3. 液晶屏偏光片的选用规则?
  4. Linux内核框架之内核进程
  5. 这是一篇理工男写的口红科普文
  6. 人机交互-9-人机交互基础知识
  7. Python猫眼电影最近上映的电影票房信息
  8. 基于fmincon函数的最优化计算
  9. kotlin android 开源,一款纯Kotlin编写的开源安卓应用 Smile
  10. SQL 更新语句:Update ... set ... from ...