MATLAB语言中实现比较复杂的编程,就不得不使用struct类型。在MATLAB中实现struct比在C语言中更为方便。
MATLAB中的结构体:
结构是包含一组记录的数据类型,而数据则是存储在相应的字段中。结构的字段可以是任意一种MATLAB数据类型的变量或者对象。结构类型的变量可以是一维的、二维的或多维的数组。结构体也叫结构数组,架构数组。不过,在访问结构体类型的元素时,需要使用下标配合字段的形式。
可以在一个结构体中放置各类的数据,并且一个结构体还能是另一个结构体的一部分(即结构体的嵌套使用)。相比较而言,比元胞数组更为强大,也更加富于变化。
结构体的创建
MATLAB提供了两种定义结构体的方式:直接引用和使用struct函数。
与建立普通数组一样,建立新的struct对象不需要事先声明,可以直接引用,而且可以动态扩充。
使用struct函数也可以创建结构体,该函数产生或把其他形式的数据转换为结构体,其调用格式为:
str_array=struct('field1',{val1},'field2',{val2}...);
结构体操作函数
MATLAB中专门用于对结构体操作的函数并不多,如下所示。
struct:创建结构或将其他数据类型转变成结构;
fieldnames:获取结构的字段名称;
getfield:获取结构的字段数据;
setfield:设置结构的字段数据;
rmfield:删除结构的指定字段;
isfield:判断给定的字符串是否为结构的字段名称,是,返回真,否,返回假;
isstruct:判断给定的数据对象是否为结构类型,是,返回真,否,返回假;
orderfields:将结构字段排序,按ASCII码排序。
最后,感谢您的耐心阅读!