MATLAB cell & struct
2015-09-26 10:29
453 查看
CELL
cell的每个单元都可以存储任何数据,比如传递函数等。当然,存储矩阵更是没有问题的了。但是用cell数据类型之前,要先初始化。
那么就把a初始化为一个n行m列的空cell类型数据。
如何赋值呢?
那么a的1行1列的单元中存储的就是一个随机的5×5的方阵了。
那么要用第一个单元中的方阵中的某个值呢?
可以如下引用:a{1,1}(2,3)
就可以了,引用cell单元时要用{},再引用矩阵的某个数据就要用()了。
cell单元中的每个单元都是独立的,可以分别存储不同大小的矩阵或不同类型的数据。
下面举个例子:
Struct
结构体的赋值,这里不建议用下面这种形式进行统一赋值,
而是建议直接赋值,就是对每一个属性进行单独赋值,因为每一个属性的长度不同,所以,直接赋值,就省去了声明的过程,方便,快捷;
例如我们要声明下面的结构体:
直接输入以上语句便可。
如果我们要查看结构体的所有值,那么可以直接输入结构体的名字,然后回车,就可以列出结构体的每项的名称和值,如果要显示某一个属性,通过单独调用,例如
如果我们要删除结构体的某一项属性,那么可以通过函数Rmfield,来实现,如果要增加一个属性,那么可以直接进行赋值便可。
假如我们想要知道这个结构体具体有多少字段(属性),我们可以通过函数fieldnames来获取字段名称,同时我们也可以通过函数isfield来判断是否存在某一字段。
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(7) Regularized logistic regression : mapFeature(将feature增多) and costFunctionReg
- matlab(6) Regularized logistic regression : plot data(画样本图)
- Matlab & Mathematica 解符号方程组
- 在实验中训练样本的选择和matlab代码展示(自己在实验中的亲身的经历)
- matlab save -v7.3 速度较慢及解决方式
- Matlab & Mathematica 向量(行,列) 矩阵
- matlab中的sum函数的用法
- Matlab中判断文件是否为空
- MATLAB中squeeze函数的作用
- Ubuntu14.04+搜狗输入法+Cuda+opencv3.0+matlab2014b+mkl+caffe 安装
- MATLAB:镜像图片
- 特征点检测效果评估(matlab代码)
- Matlab:max函数
- MATLAB R2014b 的安装破解
- matlab生成opencv需要的xml文件
- MATLAB使用技巧
- ubuntu下安装Matlab2014及破解
- matlab getframe()
- MATLAB 中gcf、gca 以及gco 的区别
- Matlab中libsvm的安装几使用(参数的设置 )