讲真,我觉得最好的说明文档是MATLAB 帮助文档。但是由于朋友们可能看英文费劲,或者更喜欢看我的用“人话”讲解MATLAB用法。下面我从一个MATLAB深度用户的角度来讲解一下MATLAB 中cell数据类型的使用方法和注意事项。文末有福利

1、Cell定义

我感觉Cell的发明是为了补充数值矩阵的不足。Cell 能包含任何类型的数据,比如数值、字符串、逻辑值甚至是Cell自身。说句人话就是Cell 是个筐,啥个都能装。但是由于Cell自己的“都能装”的属性,这个读取和写入就变的些复杂。

2、生成Cell函数

最简单的生成方法就是采用{ }大括号就行。

比如生成2X3的cell矩阵C

C = {'one', 'two', 'three';

1, 2, 3};

或者采用cell生成指大小的空cell矩阵,比如生成2X3cell矩阵D

D=cell(2,3);

或者借助已有的数据矩阵,通过mat2cell生成cell矩阵。

a = magic(3)

c = num2cell(a)

3、Cell读取与写入

这里有一个特别注意的问题,{ }与()有不同的含义:()可以引用与读写“一片”的cell的集合。{ }只能对每一个cell个体进行读写。放心,我知道你们都没有明白我在说什么。具体用法可以看下面的“栗子”

A)( )读取‘一片’cell集合

upperLeft = C(1:2,1:2)

结果就是

upperLeft =

'one' 'two'

[ 1] [ 2]

B) ()写入“一片”

C(1,1:3) = {'first','second','third'}

这样就重新写入了C矩阵的第一行,可见现在的C

C =

'first' 'second' 'third'

[ 1] [ 2] [ 3]

C) { }对单独的一个Cell进行读写

last = C{2,3}

这是读取C的第2行第三列的值,可得

last =

3

要是你打算一起读取,比如

C{2,1:3}

就好得到

ans =

1

ans =

2

ans =

3

MATLAB 依旧我素我行,采用{ }读取好比是从树上摘果子,有一个果子就要有几袋子接着。正确的格式是

[r2c1,r2c2,r2c3]=C{2,:}

r2c1 =

1

r2c2 =

2

r2c3 =

3

4、注意问题

cell是较为高级的数据结构,提供了很多转换函数,能够将一些较为基础的数据结构转为cell,方便进行数据操作。

mat2cell数据矩阵变为cell矩阵,分块可变。num2cell数据矩阵变为cell矩阵,不能改变分块。struct2cell结构体变化cell矩阵table2cellTable变为cell矩阵。

但是也不是最“方便”的数据结构。比如它对自己的行数据和列数据不能进行命名,也没有较为简单的文件读写方式。这些问题在table型数据格式中会解决。

matlab中的single是什么类型_MATLAB 中cell数据类型的使用方法相关推荐

  1. python中find函数运算结果类型_Python 运算符与数据类型

    Python 运算符 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算,在Python中运算符大致可以分为7种类型:算术运算符.比较运算符.赋值运算符.逻辑运算符.位运算等,下面的例子将 ...

  2. matlab中读文件的行数_Matlab中读取txt文件的几种方法

    Matlab中读取txt文件的几种方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为"17.901 -1.1 ...

  3. matlab tek示波器,SIMULINK示波器参数设置_matlab中对示波器进行设置

    在SIMULINK中,示波器常用来作为输出工具,将模型的运行结果展现在人们面前.它把信号按照时间的顺序在二维坐标轴上显示出来.示波器的横坐标表示时间轴,纵坐标表示信号的强度.仿真过程中我们可以按照需要 ...

  4. matlab命令行窗口显示长度设置_MATLAB中如何设置坐标轴的显示长度?

    1.绘制二维曲线的最基本函数plot 2.双纵坐标函数plotyy 3. 坐标控制 函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富 ...

  5. matlab如何求传递函数的幅值_MATLAB中求开环传递函数的幅值裕度、相位裕度、截止频率的margin()函数用法...

    一.幅值裕度.相位裕度 相位裕度γ就是Bode图中幅值为0dB时对应的相位加上180°,如图中0dB时的相位是-99.1°,所以该系统的相位裕度就是 -99.1°+180°=80.9°.所谓相位裕度的 ...

  6. matlab多项式的拟合与插值例题_Matlab中数据处理和多项式插值与曲线拟合

    一.  基本统计处理 1.查取最大值 MAX函数的命令格式有: [Y,I]= max (X):将max(X)返回矩阵X的各列中的最大元素值及其该元素的位置赋予行向量Y与I:当X为向量时,则Y与I为单变 ...

  7. matlab中boxplot函数的参数设置_matlab中boxplot字体大小设置

    网上找到的: set(findobj(gca,'Type','text'),'FontSize',18) boxplot() uses the default axes labeling for th ...

  8. python中map函数返回值类型_Python中的map

    map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, sequence[, sequence, ...]) -> list 通过定义可以看到,这个函数的第 ...

  9. java中json转换成string类型_java中String转换成json,json转换成String

    前置添加pom com.google.code.gson gson 2.2.4 1.json转换成String import com.google.gson.Gson; import com.goog ...

最新文章

  1. [微信小程序]下拉菜单
  2. 《今日简史》读书笔记(未完待续)
  3. android 自定义actionbar前面有一块空白,解决Android V7后自定义Toolbar、ActionBar左侧有空白问题...
  4. JSON.parse(text[, reviver])
  5. 时间序列(七): 高冷贵族: 隐马尔可夫模型
  6. BIOS设置开机密码
  7. python爬取b站弹幕分析_python爬取B站视频弹幕分析并制作词云
  8. crosstool-ng构建的一个错误的解决
  9. 解决Git 重复输入用户名和密码的问题
  10. 在Java中调用与系统有关的剪切板Clipboard
  11. 最近学习安卓中总结的一些知识点
  12. UE4游戏提取的通用步骤(21_9_8)
  13. HTML基础 - HTML文本格式
  14. 基于MPC的移动机器人轨迹跟踪控制qpOASES例程
  15. JAVA计算机毕业设计阿尔兹海默病Mybatis+系统+数据库+调试部署
  16. 有理数域上lamada矩阵(方阵)化标准形的实现
  17. 学习软件测试的一天(11.4)
  18. 从G1到冻酸奶Froyo
  19. 目标检测算法回顾之传统算法
  20. EasyUi之Dialog(对话框窗口)

热门文章

  1. 深度学习原理与TensorFlow实践
  2. 使用wmi的snmp类查询计算机网卡信息的源代码,在java中使用SNMP和/或wmi / wmic进行进程到端口的映射...
  3. 2022年人才引进,哪些高校待遇高?
  4. 一个应用在多视图光度立体视觉MVPS的NeRF方法
  5. BEBLID:增强的高效局部图像特征描述符
  6. 论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法
  7. 机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划
  8. 粒子滤波在图像跟踪领域的实践
  9. 消息队列-----生成者 Spring整合rabbitmq
  10. RDKit | 基于RDKit输出分子结构图(Image)的方法