1)、要删除单元数组中的行或列,可以用冒号表示单元数组中的行或列,然后对其赋一个空矩阵即可。
a={123,'abcde';zeros(3,5),ones(3,3)}
a =
[ 123] 'abcde'
[3x5 double] [3x3 double]
>> a(1,:)=[]
a =
[3x5 double] [3x3 double]
>> a={123,'abcde';zeros(3,5),ones(3,3)}
a =
[ 123] 'abcde'
[3x5 double] [3x3 double]
>> a{1}=[]
a =
[] 'abcde'
[3x5 double] [3x3 double]
>> a={123,'abcde';zeros(3,5),ones(3,3)}
a =
[ 123] 'abcde'
[3x5 double] [3x3 double]
>> a(1)=[]
a =
[3x5 double] 'abcde' [3x3 double]
>> a={123,'abcde';zeros(3,5),ones(3,3)}
a =
[ 123] 'abcde'
[3x5 double] [3x3 double]
>> a(2)=[]
a =
[123] 'abcde' [3x3 double]
2)、元宝数组和其他数组一样,也可以通过reshape函数改变形状,改变后的元胞数组与原元胞数组的元素个数相同,不能通过改变形状来添加或删除元胞数组中的元素。
a={123,'abcde';zeros(3,5),ones(3,3)}
a =
[ 123] 'abcde'
[3x5 double] [3x3 double]
>> size a
ans =
1 1
>> size(a)
ans =
2 2
>> b=reshape(a,1,4)
b =
[123] [3x5 double] 'abcde' [3x3 double]
>> size(b)
ans =
1 4
5、元胞数组中的操作函数cell:创建空的元胞数组cellfun:为元胞数组的每个元胞执行指定的函数celldisp:显示所有元胞的内容cellplot:利用图形方式显示元胞数组cell2mat:将元胞数组转变成为普通的矩阵mat2cell:将数值矩阵转变成为元胞数组num2cell:将数值数组转变成为元胞数组deal:将输入参数赋值给输出cell2struct:将元胞数组转变成为结构struct2cell:将结构转变为元胞数组iscell:判断输入是否为元胞数组
cellfun函数的主要功能是对元胞数组的元素(元胞)分别指定不同的函数,不过,能够在cellfun函数中使用的函数ushuliang是有限的。能在cellfun中使用的函数:isempty:若元胞元素为空,则返回逻辑真islogical:若元胞元素为逻辑类型,则返回逻辑真isreal:若元胞元素为实数,则返回逻辑真length:元胞元素的长ndims:元胞元素的维数prodofsize:元胞元素包含的元素个数
举例:
a={123,'abcde';1-7i,ones(3,3)}
a =
[ 123] 'abcde'
[1.0000 - 7.0000i] [3x3 double]
>> b=cellfun('isreal',a)
b =
1 1
0 1
>> c=cellfun('length',a)
c =
1 5
1 3
>> d=cellfun('isclass',a,'double')
d =
1 0
1 1