MATLAB 矩阵分块函数 mat2cell 及 cellfun 函数

为了清理桌面上的 words, so do this!

在做一个项目的时候,接触到了这个函数,瞬间感觉好有用,遂记录之。(好像有点废话……)

mat2cell 函数就是将矩阵转化成胞元数组(cell array),用数学的语言讲就是矩阵分块。其意义和用法可以用 matlab 的帮助文档说清楚:

cellfun 函数就是对每一个块做相同的操作,例如求和、求均值等等,用这个函数就避免了写 for 循环了,也算是 matlab 向量化运算的一个例子。下面用一个例子说明之。

% 生成一个 10*5 的随机矩阵,矩阵取值在 0 到 50 内的整数
matrix = randi(50, 10, 5);
% 转换成胞元数组
mc = mat2cell(matrix, [3 5 2], [3 2]);
% 求每一块的所有元素之和
sum_of_everyone = cellfun(@(x) sum(x(:)), mc)

matrix

mc mc{1,1} =

18    10     9
 3    13    32
36     3    29

mc{2,1} =

50    31    38
 9    39     8
 6    26    18
46     2     8
25    50    43

mc{3,1} =

43    26    17
41    17    14

mc{1,2} =

 1    30
41    41
25    50

mc{2,2} =

27    45
44    11
37     2
34    23
 9     1

mc{3,2} =

28    24
48    48

每一块的和 sum_of_everyone =

 153   188
 399   233
 158   148

OK,该睡觉了!明天还要考最坑爹的模式识别~

END

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python3

python语句-中断循环-continue,break

continue的作用是:从continue语句开始到循环结束,之间所有的语句都不执行,直接从一下次循环重新开始

733
来自专栏深度学习自然语言处理

【python】读取json文件

最近要打个比赛,在处理数据的时候,发现数据竟然是json文件的,于是上网查了下,展示给大家O.O

8402
来自专栏深度学习之tensorflow实战篇

tensorflow(一)windows 10 python3.6安装tensorflow1.4与基本概念解读

一.安装 目前用了tensorflow、deeplearning4j两个深度学习框架, tensorflow 之前一直支持到python 3.5,目前以更...

4014
来自专栏人工智能LeadAI

Python 设计模式初探

本文章是在阅读精通Python设计模式(中文版)(https://book.douban.com/subject/26829015/),以及阅读 Mask R-...

3526
来自专栏灯塔大数据

每周学点大数据 | No.42 Hash join

No.42期 Hash join Mr. 王:那我们就来看看 Hash join 具体是怎么做的吧。 两个表直接拿过来,我们不对其做任何排序和预处理。对这两...

2976
来自专栏数据科学与人工智能

【Python环境】Python数据分析入门

本文来分享一下如何通过Python来开始数据分析。 具体内容如下: 数据导入 导入本地的或者web端的CSV文件; 数据变换; 数据统计描述; 假设检验 单样本...

25410
来自专栏应兆康的专栏

100个Numpy练习【4】

翻译:YingJoy 网址: https://www.yingjoy.cn/ 来源: https://github.com/rougier/numpy-100...

4518
来自专栏漫漫深度学习路

tensorflow自定义op:梯度

tensorflow自定义op,梯度 tensorflow 是 自动微分的,但是如果你不给它定义微分方程的话,它啥也干不了 在使用 tensorflow 的时...

5917
来自专栏深度学习之tensorflow实战篇

tensorflow(一)windows 10 64位安装tensorflow1.4与基本概念解读tf.global_variables_initializer

一.安装 目前用了tensorflow、deeplearning4j两个深度学习框架, tensorflow 之前一直支持到python 3.5,目前以更新...

3656
来自专栏专知

【附源码】TensorFlow动态图(Eager模式)的那些神坑

导读:TensorFlow的动态图(Eager模式)为TensorFlow提供了Pythonic的API,让开发者可以像使用PyTorch一样使用TensorF...

782

扫码关注云+社区