cell2structmatlab,Matlab使⽤单元数组(cell array)和结构。
。。
要在MALTAB中实现⽐较复杂的编程,就不能不⽤单元数组(cell array)和结构数组(structarray)。⽽且在Matlab中实现struct⽐C中更为
⽅便。
⼀. 单元数组
单元数组中的每⼀个元素称为单元(cell). 单元可以包含任何类型的matlab数据, 这些数据类型包括数值数组, 字符, 符号对象, 甚⾄其他的单
元数组和结构体. 不同的单元可以包含不同的数据.
1.1单元数组创建与显⽰:
1、直接赋值法:按单元索引法 和按内容索引法。(其实也就是将花括号放在等式的右边或是左边的区别)。注意:“按单元索引法”和“按
内容索引法”是完全等效的,可以互换使⽤。通过下⾯实例,我们看到:花括号{}⽤于访问单元的值,⽽括号()⽤于标识单元(即:不⽤于访
问单元的值)。具体理解{}和()区别可以在下⾯代码最后分别输⼊A{2,2}和A(2,2)。就会发现“按内容索引法{}”能显⽰完整的单元内容,
⽽“按单元索引法()”有时⽆法显⽰完整的单元内容。
>> A(1,1)={[1 2
3; 4 5 6;7 8
9]};
% 按单元索引法
>>
A(1,2)={2+3i};
>> A(2,1)={'A
character'};
>>
A(2,2)={12:-2:0};
>>
A %要想详细显⽰A中的内容,可⽤指令:celldisp(A)
A =
[3x3 double] [2.0000 + 3.0000i]
'A
character' [1x7 double]
>> B{1,1}=[1 2 3;4 5 6;7 8
9]; % 按内容索引法。
>> B{1,2}=2+3i;
>> B{2,1}='A character';
>> B{2,2}=12:-2:0;
>>B
B =