CELL

cell的每个单元都可以存储任何数据,比如传递函数等。当然,存储矩阵更是没有问题的了。但是用cell数据类型之前,要先初始化。

a=cell(n,m)

那么就把a初始化为一个n行m列的空cell类型数据。

如何赋值呢?

a{1,1}=rand(5)

那么a的1行1列的单元中存储的就是一个随机的5×5的方阵了。

那么要用第一个单元中的方阵中的某个值呢?

可以如下引用:a{1,1}(2,3)

就可以了,引用cell单元时要用{},再引用矩阵的某个数据就要用()了。

cell单元中的每个单元都是独立的,可以分别存储不同大小的矩阵或不同类型的数据。

下面举个例子:

a=cell(2,2);%预分配
a{1,1}='cellclass';
a{1,2}=[1 2 2];
a{2,1}=['a','b','c'];
a{2,2}=[9 5 6]; >> a{1,1}
ans =
cellclass >> a{1,2}
ans =
1 2 2 >> a{2,:}
ans =
abc ans =
9 5 6 >> b=a{1,1}
b =
cellclass

Struct

结构体的赋值,这里不建议用下面这种形式进行统一赋值

s = sturct('field1',values1,'field2',values2,…)

而是建议直接赋值,就是对每一个属性进行单独赋值,因为每一个属性的长度不同,所以,直接赋值,就省去了声明的过程,方便,快捷;

例如我们要声明下面的结构体:

example.name='jiangnan_hugo';
example.adress='beijing';
example.age='23';

直接输入以上语句便可。

如果我们要查看结构体的所有值,那么可以直接输入结构体的名字,然后回车,就可以列出结构体的每项的名称和值,如果要显示某一个属性,通过单独调用,例如

example.name

,便会显示其名称。

如果我们要删除结构体的某一项属性,那么可以通过函数Rmfield,来实现,如果要增加一个属性,那么可以直接进行赋值便可。

example=rmfield(example,'age')

假如我们想要知道这个结构体具体有多少字段(属性),我们可以通过函数fieldnames获取字段名称,同时我们也可以通过函数isfield来判断是否存在某一字段。

fieldnames(example)

isfield(example,'age')

MATLAB cell & struct的更多相关文章

  1. matlab中struct创建方法

    MATLAB中struct创建方法可分为:直接创建法和struct()函数创建法 (1)直接创建: 直接定义字段,像使用一般matlab变量一样,不需要事先声明,支持动态扩充.下面创建一个Studen ...

  2. MATLAB cell 数组介绍

    转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着 ...

  3. Matlab中struct的用法

    struct在matlab中是用来建立结构体数组的.通常有两种用法: s = struct('field1',{},'field2',{},...)  这是建立一个空的结构体,field1,field ...

  4. matlab cell

    cell元包是matlab中提供的一种数据类型,功能强大. 关于cell的创建: 1.跟一般创建举证一样,直接使用C = {A B D E}这种形式,不过这里把"[]"改成了}&q ...

  5. [转]MATLAB cell数据类型

    细胞型数据类型(cell)使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组. 1.细胞型数据的定义 1)直接赋值定义:细胞型变量在定义时需要使用大括号 ...

  6. 「Python」Numpy equivalent of MATLAB's cell array

    转自Stackoverflow.备忘用. Question I want to create a MATLAB-like cell array in Numpy. How can I accompli ...

  7. matlab中cell array的理解

    1. matlab中有一个函数iscell() 用于判断一个数组是不是cell array 参考:MATLAB Function Reference iscell Determine whether ...

  8. Matlab实用技巧

    1  Matlab Cell 编程模式 在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了.cell模式相当于将其中的代码拷贝到命令窗口中运行.两个% ...

  9. matlab中如何将视频保存成图像

    利用MATLAB将视频的每一帧保存成一幅图像,并自动命名.本文方法简单,容易学习. 首先,读入视频.代码如下: mov = VideoReader('xxxxxx.avi'); % 将xxxxxx.a ...

随机推荐

  1. .NET C#微信公众号开发远程断点调试(本地远程调试生产环境代码)

    最近在做微信公众号开发,由于之前没有接触过,突然发现调试不方便,不方便进行断点跟踪调试.因为微信那边绑定的服务器地址必须是公网地址,但是还是想进行断点调试(毕竟这样太方便了,程序有Bug,一步步断点跟 ...

  2. 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)

    Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...

  3. 【转】XSD (xml Schema Definition)

    来自:http://www.cnblogs.com/newsouls/archive/2011/10/28/2227765.html Xml Schema的用途 1.  定义一个Xml文档中都有什么元 ...

  4. myeclipse下java文件乱码问题解决

    中文乱码是因为编码格式不一致导致的.1.进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码.2.如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文 ...

  5. MyBatis学习--高级映射

    简介 前面说过了简单的数据库查询和管理查询,在开发需求中有一些一对一.一对多和多对多的需求开发,如在开发购物车的时候,订单和用户是一对一,用户和订单是一对多,用户和商品是多对多.这些在Hibernat ...

  6. 一个Activity掌握Android4.0新控件 (转)

    原文地址:http://blog.csdn.net/lavor_zl/article/details/51261380 谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常 ...

  7. git 创建别名

    git config --global alias.shortname command 例子如下 git config --global alias.psm 'push origin master' ...

  8. FastFDFS_Jave客户端调用(亲测可用)

    一.配置文件(fdfs_client.properties) 1 2 3 4 5 6 7 8 9 10 connect_timeout = 30 network_timeout = 60 charse ...

  9. java基础语法要点<二>(基于1.8)

    注解(元数据) 从jdk5 开始,java支持在源文件中嵌入补充信息,称为注释(annotation).注释不会改变程序的动作,也就不会改变程序的语义.但在开发和部署期间,各种工具可以使用这类信息.元 ...

  10. Shiro 学习笔记(二)——shiro身份验证

    身份验证: 在应用中证明他就是他本人.一般上用身份证.用户/密码 来证明. 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身 ...