计算机视觉
图像处理

Matlab成长之路_4(细胞型(单元)数据 cell)

简单介绍一下,希望对大家有所帮助。

细胞型(有的书上称单元)数据是matlab的一种特殊数据类型,它比较灵活,可以存储不同的数据类型(字符、数值)和不同维数的数组。

有两种方法创建:
1、赋值语句:把数值直接赋值给单元,如:
内容索引 变量的下标用大括号{}括起来
a{1,1} = [1 2 3 4 5];
a{1,2} = {‘中国’;’yunnan’};
a{2,1} = [1+1*i,4*i]
单元索引 单元中的数据用大括号{}括起来,单元的下标用普通下标
a(1,1) = {[1 2 3 4 5]};
a(1,2) = {{‘中国’; ‘yunnan’}};
a(2,1) = {[1+1*i;4*i]}

2、用函数cell :cell函数指定单元的大小,创建后可以对它赋值
a = cell(2,2)

查看单元的内容
>> a
a =
[1×5 double]    {2×1 cell}
[2×1 double]            []
上述只显示数据的结构,如果要显示内容利用celldisp

>>  celldisp(a)

a{1,1} =

1     2     3     4     5

a{2,1} =

1.0000 + 1.0000i
0 + 4.0000i

a{1,2}{1} =

中国

a{1,2}{2} =

yunnan

a{2,2} =

[]

 

 

前言

Matlab中的cell数据类型有点类似于矩阵,不过它比矩阵更灵活,矩阵中的所有元素只能是同一种数据类型,而cell中的元素类型可以是 不同的数据类型,几乎涵盖了matlab中的所有类型,比如说数值,字符,数组,struct甚至cell本身等。Cell应用很广,你可以将其理解成一 个排列顺序的功能强大的结构体,可以用来存储各种变量。

开发环境:Matlab2012a

实验基础

访问cell中元素时,可以使用大括号或者小括号。如果使用大括号的话,则每个元素按照自己的形式赋值。如果采用小括号赋值,则所赋的值需要被 大括号括起来。如果在终端直接输入cell变量,则是看不到其内部值的,只能看到它的尺寸。需要看它的内容可以使用celldisp()函数。

本实验就是构造1个2*2的cell,且它的每个元素的数据类型不相同,具体看实验代码。

实验结果

cell a的显示如下:

a{2,2}其实也是一个cell,其内容显示如下:  

实验代码及注释:

 a{1,1} = [1 2 3 4 5];
 a{1,2} = {'I love';'中国'};
 a{2,1} = [1+1*i,4*i];

%% number of layers
params.num_isa_layers = 2;

%% fovea sizes
fovea{1}.spatial_size = 16;
fovea{1}.temporal_size = 10;
fovea{2}.spatial_size = 20;
fovea{2}.temporal_size = 14;
params.fovea = fovea;

a{2,2} = params;
celldisp(a)
celldisp(a{2,2}.fovea)

转载注明来源:CV视觉网 » Matlab成长之路_4(细胞型(单元)数据 cell)

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 0超赞 0无聊 0扯淡 0不解 0路过

评论 3

评论前必须登录!