MATLAB如何创建结构体
的有关信息介绍如下:介绍MATLAB中的结构体struct的创建方法,struct函数的多种用法。
直接使用s=struct就可以创建一个空结构体s.
struct(field,value)可以创建字段为field,其值为value。
当value是一个有n个元素的元胞数组时,创建的结构体长度也为n,每个结构体的field字段有元胞数组的一项。
struct(field1,value1,field2,value2....)创建具有多个字段的结构体,其中各个value如果是元胞数组,要么等长要么只有一个元素。
(普通数组将会被视为一个元素)
产生的结构体的长度,就是非单个元素元胞数组的共同长度。如图产生长度为2(1*2)的结构体数组。
对于产生的结构体数组s,使用s(i)访问其中的第i个结构体。
结构体数组也是从1开始的,长度为2的结构体s的两个元素是s(1)和s(2)
另外,给结构体指定value时,如果指定为[],表示0*0的普通数组(空数组也是元素)
但是如果指定{},则表示无元素。如果有一个value是无,其它字段也都会变成无元素。
如图当value指定为{{'A','B','C}}时,即表示1*1的结构体该字段是一个1*3的元胞数组{'A','B','C}
当value指定为{'A','B','C}时,表示1*3的结构体数组,三个结构体的该字段分别为'A' 'B' 'C'
也可以先创建各个字段都为空的结构体,然后在通过下表和字段赋值。
如图,s(1).a='A'将给s的第一个结构体的字段a赋值为'A'。
结构体的字段也可以是结构体,而且可以通过fieldnames函数获取结构体的字段名称,如图。