• MATLAB中的CELL用法


    Matlab里面元包(Cell)的概念,其元包就是一个类似矩阵的东西,但是它的特点就是矩阵的每一项可以放任何的元素,比如:

    >> MyCell

    MyCell =

    Columns 1 through 2

        [16x16 double]    'i am a string'

    Column 3

        [1x1 struct]

    MyCell的第一项是一个16x16的矩阵,第二项是一个字符串,第三项是个结构体。
    Cell的使用其实也很简单,和矩阵的用法备尝的类似,不同的矩阵采用()作为访问的表示,如a(1)=10;但是元包是采用花括号的,如MyCell{1}=zeros(16,16),当然元包也可以有矩阵的形式MyCell{i,j}(其实元包也可以可用MyCell(i,j),但是从字面上看不出和一般的矩阵有任何的区别,我个人还是建议使用花括号)。

    再回到开头的问题,那么就用一个1 x N的元包组来记录这些数据,每个元包就放置一个矩阵即可。
    首先要要创建一个元包用来存放数据,这里有两种方法

    (1) DataCell = Cell(1,N);
    (2) DataCell{N} = [];

    这两种方法的效果是一样产生了一个1 X N的元包,没有元素都是空的。
    使用的时候也很简单 DataCell{1} = DataArray。其中DataArray就是要存储的某一行数据。
    要访问某行数据也很简单 DataCell{2}(7) 就是表示第2个元包的数组的第7个元素。
    此外元包还有自己的可视化工具,celldisp()和cellplot()分别用作显示元包的内容和画出元包。

    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单元中的每个单元都是独立的,可以分别存储不同大小的矩阵或不同类型的数据。

    Trackback: http://chenjing5698.blog.163.com/blog/static/1406776822010410104955998/

  • 相关阅读:
    后端Golang+前端React架构开发案例
    Vim技巧大全
    Draggable Modal dialog in Bootstrap
    Github.com的镜像站
    kettle之excel上传数据库
    自定义函数之分割函数
    jmeter 压测 ActiveMq 消息队列
    SQL---查找+删除重复记录
    异常值检测(Outlier Detection)
    使用u盘在pc上安装centos7(安装停留在dracut:/#的处理)
  • 原文地址:https://www.cnblogs.com/JohnShao/p/2135657.html
Copyright © 2020-2023  润新知