说明
元胞数组是⼀种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含⽂本列表、⽂本和数字的组合或者不同⼤⼩的数值数组。 旧金山中华总会馆创建对象
1、我们可以使⽤元胞数组构造运算符 {} 创建该数组,例如:
% 使⽤元胞数组构造运算符{}创建数组
C = {1,2,3;
'text',rand(5,10,2),{11; 22; 33}}
C = 2x3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {5x10x2 double} {3x1 cell}
2、还可以使⽤cell 预分配⼀个元胞数组,稍后再为其分配数据,例如:
% 使⽤cell函数预分配⼀个数组
C =cell(3);
C = 3x3 cell array
{0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double}
{0x0 double} {0x0 double} {0x0 double}
其中,cell函数不仅可以预分配⼀个元胞数组,还可以可将 Java 数组、.NET System.String 或 System.Object 数组或者 Python 序列转换为 MATLAB 元胞数组。
元胞数组的访问
我们所创建的元胞数组是⼀系列元胞数据类型的集合,我们通过将索引括在圆括号 () 中可以引⽤元胞集,使⽤花括号 {} 进⾏索引来访问元胞的内容,例如:
C = {'2017-08-16',[56 67 78]};
C(1,:)
ans = 1x2 cell array
{'2017-08-16'} {1x3 double}
C{1,2}
ans = 1×3
56 67 78
相关函数
cell2mat :将元胞数组转换成普通的数组
cell2table :将元胞数组转换成table类型稀疏化
cell2struct:将元胞数组转换成结构体数组坩埚炉
cellstr:将元胞数组转换成字符向量
iscell:判断输⼊是否是元胞数组
cellfun
重点函数
⽤法
cellfun:将函数作⽤于数组中的每⼀个元胞
A = cellfun(func,C),将函数func作⽤到C中的每⼀个元胞中,
⼀次作⽤于⼀个元胞,相当于A(i) = func(C{i})。
⽰例
C = {1:10, [2; 4; 6], []};
%计算每个元胞的均值
沈阳音乐学院南校区地址>龚曲此里A = cellfun(@mean,C)
A = 1×3
5.5000 4.0000 NaN
%删除空的元胞数组
A(cellfun(@isempty,A))=[]
A=1×2 cell
杭州卷烟厂
{1x10 double} {3x1 double}