您的位置:首页 > 编程语言 > MATLAB

matlab的元胞和结构体

2015-09-23 13:12 1196 查看

一、元胞数组是MATLAB 的一种特殊数据类型,可以将元胞数组看作一种无所不包的通用矩阵,或者叫作广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫作元胞(cell)。

1)创建方法:

元胞数组的创建使用“{ }”。创建数组a的时候,使用花括号将不同类型和尺寸的数据组合在一起构成了一个元胞数组,在这个数组中有标量、多维数组、向量和字符串。还可以用cell函数创建空元胞数组,该函数可以创建一维、二维或多维元胞数组,但是创建的数组都为空元胞。

cell函数创建空元胞数组的主要目的是为数组预先分配连续的存储空间,节约内存占用,提高执行效率。

2)获得元胞数组中的数据:可通过用元胞数组名加大括号“{}”,大括号中的数值表示元胞的下标。如a{1,2}表示元胞数组中第一行第二列的元胞。

3)注意:大括号用于表示元胞的内容,小括号表示指定的元胞。要访问指定元胞中的具体元素,可以在元胞数组内容下标的后面加上指定数组元胞的下标。如:a{1,2}(1,2)表示元胞a{1,2}的元素(1,2)。

cell转换为矩阵函数为:cell2mat(c),其中c为待转换的元胞数组;

——reshape(A,m,n,p,...),将矩阵A变换为m*n*p*...的矩阵;

——permute(A,[1,3,2]),将矩阵A的第3维和第2维交换,从而满足顺序要求;

4)几个函数

celldisp(c); %显示
cell2struct();
num2cell();
iscell();
二、结构体

创建:

1)直接创建

s.name={’****‘}

2)使用关键字struct

s = struct('field1',values1,'field2',values2,…);
3)操作函数

函数名
功能描述
函数名
功能描述
deal
把输入处理成输出
Fieldnames
获取结构的字段名
getfield
获取结构中指定字段的值
Rmfield
删除结构的字段(不是字段内容)
setfield
设置结构数组中指定的字段的值
Struct
创建结构数组
struct2cell
结构数组转化成元胞数组
Isfield
判断是否存在该字段
isstruct
判断某变量是否是结构类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: