首页 | 财经 | 资源 | 股票怎么玩 | 考研 | 怎么样玩股票 | 论文 | 玩股票怎么开户 | 投稿 |

全球金融证书大汇总: CFA - FRM - 财务顾问主办人 - 中国精算师 - 保荐代表人 - ACCA - CFP - FECT - 金融英语 - 证券从业 - 期货从业 - 银行从业 - 保险从业 - 更多
金融大学:银行学院 - 保险学院 - 外汇学院 - 债券学院 - 股票学院 - 基金学院 - 港股学院 - 权证学院 - 黄金学院 - 期指学院 - 财经股票书籍在线阅读 - 金融类书籍下载

当前位置:首页 > 金融资源 > 金融数理软件 > 文章正文

在matlab中cell函数的作用

www.21jrr.com发布时间:2010-01-12 22:52文章来源:未知投稿给我们
    在matlab中cell函数的作用
    我在看一个程序,里面的cell的作用看不懂,有没哪位知道的,解释下,谢谢
    A=cell(100,1);
       for i=1:100
           A(i).flag=-1;
           A(i).status=zeros(1,13);
    end
    这里面的cell的原理是怎么样的?
    问题补充:谢谢你的回答,那个A(i)应该是A{i},我打错了,但是我还是不是很理解cell,在我的程序中,为什么a{i}里可以初始化两个元素(flag,和status),A{i}不就只是一个元素吗
    比如a=cell(2,1);
    >> for i=1:2
           a{i}.f=-1;
           a{i}.d=2;
    end
    这个程序里面是怎么存放的
    那个A(i)应该是A{i}才对吧。
    ——————————————————————
    cell是matlab中的一种数据类型,用大括号定义,括号里可以是任意类型的数据或矩阵。

    B={[1;2]}
    这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2]
    要引用里面的数据只要在大括号里写上对应的下标即可,如
    B{1}
    下面我们给B再加个元素,我们可以这样定义
    B(2)={'hello'}
    也可以利用引用的方法定义
    B{2}='hello'
    第二种方法比第一种方法更方便所以更常用。
    这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello')

    cell函数是造元素为cell类型的矩阵
    你这里A=cell(100,1)就是造了100行1列的cell矩阵。当然此时每个元素里什么都还没有。

    然后
    A{i}.flag=-1;
    A{i}.status=zeros(1,13);
    就开始定义每个元素里的数据了,可以看到每个cell里保存的都是结构型数据。
    ————————————————————————————
    A{i}.flag=-1;
    A{i}.status=zeros(1,13);
    实际上并不是在A{i}中储存了两个元素,而是储存了一个结构型数据。

    matlab中共有六种数据类型,分别为数值、字符、逻辑、结构、细胞、类。
    其中细胞就是你这里的cell类型数据。

    A{i}.flag=-1;
    A{i}.status=zeros(1,13);
    实际上是在A{i}中储存了一个结构类型数据,它有两个成员,一个名为flag、一个名为status,上面两句话只不过是对这同一个元素的两个成员进行赋值而已。

    实际上我们也可以自己定义一个结构变量,比如
    a.one=[1;2];
    a.two='hello';

    a就是一个结构型的变量,它有两个成员,分别叫one和two。但请记住,a是一个变量,不是两个变量。
    更多

    相关阅读

    焦点图文

    关于我们 | 广告服务 | 商务合作 | 网站地图 | TAG | 友情连接

    版权所有 Copyright(C)2013-2014 天下金融网(www.21jrr.com),未经授权禁止复制或建立镜像,否则将依法追究法律责任!
    声明:我们不做任何形式的代客股票怎么玩及投资指导,凡是以天下金融网名义做股票推荐的行为均属违法!
    广告商的言论与行为均与天下金融网无关!股市有风险,投资需谨慎。
    联系我们