标签:style blog class c code java
问题:
(注意,matlab判断一个数的类型的函数是class(var))
如果p为一个数,那么h(1)=p,是没有问题的。
如果p为一个向量,那么h(1,:)=p是没有问题的。
如果p是一个矩阵的话,上面的两种赋值方法都是会有错误的。
那么要如何处理呢 ????
这时就用到了cell数据类型了。cell的每个单元都可以存储任何数据,比如传递函数等。当然,存储矩阵更是没有问题的了。但是用cell数据类型之前,要先初始化。
1、细胞型数据的定义
1)直接赋值定义:细胞型变量在定义时需要使用大括号,元素用都好隔开
例: B = {1:4,A,‘abcd’}
2)使用cell函数,预先为细胞型变量定义空间
例: A = cell(m,n) 定义一个空的m行n列的cell类型
2、细胞型数据的访问
1)对细胞型变量元素的引用应当采用大括号作为下标的标示,用小括号作为下标标示时,将只显示该元素的压缩形式。
比如:
2 ) 改变cell类型元素的值
4) cell函数
cellplot(A)
cellfun(‘fun’,A)
对细胞型变量A作用fun函数,fun可以为isreal,isempty,length,islogical,ndims等
celldisp(A) 完全显示细胞型变量的内容
cellplot(A)
用图形显示细胞型变量的内容
num2cell
将数值数组转换为细胞型变量
deal
输入输出处理
cell2struct
将细胞型变量转换为结构型变量
struct2cell
将结构型变量转换为细胞型变量
iscell
判断是否为细胞型变量
reshape
改变细胞型数组的结构
注意事项:
names={‘s1‘}; %或 names=cell(1, 1);
names{1} = ‘s1‘;
names={names{1,:}, ‘s2‘}; %在字符串数组后面append一个字符串。
names={names{1,:}, ‘s3‘}; %在字符串数组后面append一个字符串。
% 这时names是一个1x3的字符串数组,若要变成3x1的数组,可以:
names = names‘;
标签:style blog class c code java
原文地址:http://www.cnblogs.com/xiongyunqi/p/3737719.html