cell数组用法
1.cell数组的创建
可以直接通过{}类似于矩阵的直接赋值:a={'winter',123,'coming','哈哈'};
也可以通过cell函数预分配内存,再赋值:a=cell(1,4);a={'winter',123,'coming','哈哈'};
2.cell数组的访问
与普通矩阵,数组的主要区别在于:通过()访问cell数组时访问到的是cell单元,通过{}访问cell数组时访问到的是cell单元储存的内容,举例如下图所示,其他操作基本一样。
3.cell数组相关的函数
- cell:创建空的元胞数组,预分配内存
- celldisp:显示元胞数组所有内容
- cellplot:利用图形方式显示内容
- cell2mat:将元胞数组成普通矩阵(要求cell元胞数组的所有内容都必须为相同数据类型,可以为字符,会转化为字符矩阵)
- mat2cell:将普通矩阵转化成元胞数组
- iscell:判断输入是否为元胞数组
- cellfun:为cell数组的每个cell单元的内容执行指定的函数,fun可以是特殊的函数或者句柄
A=cellfun(func,C)
b={[1,2,1];[2,1,1];[1,1,2]};
c=cellfun(@(x)(mat2str(x)),b,'un',0)
image
4.cell单元的删除
我们知道矩阵及矩阵的删除可以通过[]实现:
image元胞数组操作类似但和其赋值一样有区别,区别就在于{}和()
a={1,2,3};
a{1}=[];%并不能删除第一个cell单元,只是变成空值
a(1)=[];%删除第一个单元
imagea(:)=[];%一次性删除所有cell单元
网友评论