Matlab小技巧—mat2cell对大矩阵分成若干块-程序员宅基地

技术标签: matlab  Matlab小技巧  

Matlab小技巧—mat2cell对大矩阵分成若干块

目的

我写这篇文章的目的就是为了能够将大矩阵简单的分为若干块,例如500x500的矩阵,分成100x100个5x5的分块矩阵。文档上只写了通过dim1Dist = [5,5,5,...,5,5]对矩阵进行划分,但是我们不能直接写100个5,那样太麻烦了,我们这里有一个小技巧能够简单的进行划分。

mat2cell函数

我们先介绍一下mat2cell函数的用法:
mat2cell是将数组转化为在元胞中包含子数组的元胞数组,其中包括两种语法的用法

C = mat2cell(A,dim1Dist,...,dimNDist)
C = mat2cell(A,rowDist)
  • 第一种语法C = mat2cell(A,rowDist)

其中rowDist指的是行分布,描述输入数组行分布情况的向量,指定为数值向量。当您未指定如何沿其他任何维度划分 A 时,mat2cell 函数将返回一个 n×1 元胞数组 C,其中 n 等于 rowDist 中的元素数。
rowDist 的每个元素指定 C 中对应元胞所含子数组的行数。rowDist 的元素总和必须等于 A 的行数。

A = reshape(1:20,5,4)'
A = 4×5

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20

划分 A 的行,以使元胞数组包含两个子数组。rowDist 的元素总和等于 A 的行数。划分后的结果为:

C{
    1} =
 
     1     2     3     4     5

 
 
C{
    2} =
 
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20
  • 第二种语法C = mat2cell(A,dim1Dist,...,dimNDist)

其中dim1Dist是将大矩阵分成块的尺寸,每一块的尺寸和需要和大矩阵的尺寸相同,例如:大矩阵是9x9的矩阵,分块的大小是3x3的,
在这里插入图片描述
那么

dim1Dist = [3 3 3]
C = mat2cell(A,dim1Dist,dim1Dist)

这样我们就将原先的矩阵分成了3x3的9个分块。
但是如果矩阵过大,是个500x500的矩阵,我们如何避免写一个dim1Dist = [5,5,5,...,5,5]而对矩阵进行分块处理。

  • 小技巧

这里我们有一个小技巧,我们的dim1Dist = ones(1, 100)*5, 其中,ones(1, 100)是生成一个1x100的全为1的矩阵,5为我们需要分成的块的尺寸,这样,C = mat2cell(A,dim1Dist,dim1Dist) 就能直接把500x500的矩阵分成100x100个5x5的块。

如果看到了这里,对你有所帮助,能否动动你的小手指,点个赞呢~

参考文献
https://ww2.mathworks.cn/help/matlab/ref/mat2cell.html?searchHighlight=mat2cell&s_tid=doc_srchtitle

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43852752/article/details/104194720

智能推荐

javaweb基于SSH开发家庭收支管理系统源码 课程设计 大作业 毕业设计-程序员宅基地

文章浏览阅读185次。Jdk+Tomcat6+SQLSERVER数据库。开发家庭收支管理系统(大作业/毕业设计)开发环境: Windows操作系统。

xshell 打开文件跳转到最后_XShell 技巧-程序员宅基地

文章浏览阅读658次。说明:很长时间了,一直用XShell,但是总是用鼠标操作,后来想用其他方式代替鼠标,一想肯定有快捷方式等,这里就先记下一遍有用的博文,转自:http://sundful.iteye.com/blog/704079XShell是一款Windows下非常优秀的远程连接Linux主机的工具,是我平常使用不可缺少的工具。今天没事看了下XShell的帮助,找到了一些很实用的技巧,分享给大家。复制和粘贴由于..._xshell查看json文件怎么跳转底部

深度优先搜索python_python深度优先搜索算法-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏17次。深度优先搜索概念深度优先搜索和广度优先搜索一样,都是对图进行搜索的算法,目的也都是从起点开始搜索直到到达指定顶点(终点)。深度优先搜索会沿着一条路径不断往下搜索直到不能再继续为止,然后再折返,开始搜索下一条候补路径。具体而言步骤1A为起点,G为终点。一开始我们在起点A上。步骤2将可以从A直达的三个顶点B、C、D设为下一步的候补顶点。步骤3从候补顶点中选出一个顶点。优先选择最新成为候补的点,如果几个顶点同时成为候补,那么可以从中随意选择一个。步骤4此处B、C、D同时成为候补,所以_python深度优先搜索算法

linux安装gcc-c++报错Unable to locate package gcc-c+-程序员宅基地

文章浏览阅读1.1w次,点赞21次,收藏19次。报错如图,我刚开始也很莫名其妙,为什么变成了gcc-c+呢,另一个+呢?最后才发现ubuntu比较特殊。。。需要变成2条指令才能安装以下2条指令就相当于sudo apt-get install gcc-c++,分别执行完成就好啦,安装成功!sudo apt-get install gccsudo apt-get install g++..._unable to locate package gcc-c+

java/jsp/ssm高考志愿填报系统【2024年毕设】-程序员宅基地

文章浏览阅读64次。springboot基于Springboot的旅游景区指南系统的设计与实现。springboot基于springboot的旅游平台管理系统。开发软件:eclipse/myeclipse/idea。springboot基于android的运动管理软件。ssm基于微信小程序的多多母婴购物商城的设计与。springboot基于vue的游戏社交平台。springboot同城驴友社区的开发与实现。springboot在线音乐系统的设计与实现。springboot微信小程序的新闻管理系统。

随便推点

PostgreSQL 与 MySQL 相比,优势何在?_pl/pgsql与sql语言相比,优势有哪些?-程序员宅基地

文章浏览阅读453次。如题专区:PostgreSQL 与 MySQL 相比,优势何在?以下文章列举了更为直观的对比图:作者:动力节点在线链接:https://www.zhihu.com/question/20010554/answer/743955463来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。本文是转载文章。MySQL相对于PostgreSQL的劣势:PostgreSQL主要优势:  1. PostgreSQL完全免费,而且是.._pl/pgsql与sql语言相比,优势有哪些?

在IDEA中搭建基于Maven的SSM框架(一)Maven项目搭建_idea使用maven搭建ssm框架-程序员宅基地

文章浏览阅读796次,点赞4次,收藏25次。在IDEA中搭建SSM框架:Maven项目搭建开发环境:JDK1.8、MySQL、Maven3.6开发工具:IDEA 2018.3.1一、搭建基于Maven的web项目1.创建新项目2.选择Maven,JDK,项目原型3.填写项目组织标识符、项目标识符4.配置Maven5.填写项目信息6.点击finish后,如果项目本地路径不存在,IDEA会提..._idea使用maven搭建ssm框架

PHP的SQLSRV连接MSSQL查询之游标_sqlsrv_connect-程序员宅基地

文章浏览阅读591次。SQLSRV驱动程序允许您创建一个结果集,其中包含可以根据游标类型以任何顺序访问的行。本主题将讨论客户端(缓冲)和服务器端(非缓冲)游标及其用法。_sqlsrv_connect

SpringBoot整合RestHighLevelClient实现索引操作以及文档操作_resthighlevelclient 查询索引docs-程序员宅基地

文章浏览阅读1.3w次。SpringBoot整合RestHighLevelClient实现索引操作以及文档操作_resthighlevelclient 查询索引docs

Teamcity为Azure的git源颁发ssh-rsa证书,使用ssl-keygen在macos下操作

执行这段将会要求输入旧密码和新密码两次,新密码可以和旧密码相同,这样会覆盖id_rsa文件.这个文件就是tc能支持的私钥了.更换了符合他要求的证书也是有一多半的情况不正常,但实则是微软服务的问题,是服务器都拿去跑算力了还是短暂的系统问题不确定.也可以使用puttygen转换私钥格式为PEM的,比ssh-keygen麻烦一些需要先转换成ppk文件才可以.以下记录生成符合SSH-RSA2的 SHA256或者512的方法,以符合微软的标准.回车后会要求输入生成的路径,会给出提示,默认回车即可。

数据库管理-第179期 分库分表vs分布式(20240430

本期简单讲了下分库分表和分布式的一些异同,也扩展了一下自己对分布式数据库的一些期望。