结构型变量由不同类型的数据组合构成,它以指针方式传递数据。
(1)直接赋值定义,并以指针操作符“。”连接变量名与属性名;
(2)由函数struct定义,结构型变量名=struct(‘元素名1’,元素值1,‘元素名2’,元素值2,…);
(3)结构型变量和单元型变量相似,也可以嵌套。
(1)结构型变量的函数有struct、 fieldnames、 getfield、 setfield、 rmfield、 struct2cell、isfield、 isstruct等;
(2)这些函数的具体用法由帮助查询可知。
例 2.5 结构型变量应用实例。
(1)结构型变量应用实例——结构型变量的定义,见如下程序语句。
在Matlab命令行窗口运行ex2_5.m中的这些语句,有如下的结果。可以看出: A 是由直接赋值定义的结构型变量, A 1 是由函数struct定义的与 A 相同的变量, B 是嵌套了结构型变量的结构型变量,其元素包含结构型变量、字符串、双精度数矩阵三种不同的数据类型。
(2)结构型变量应用实例——结构型变量的内置函数运用,见如下程序语句。
在Matlab命令行窗口运行ex2_5.m中的这些语句,得到如下结果。可以看出: A 为直接定义的结构型变量,其元素分别是字符串、数字、双精度数矩阵, B 为直接定义的结构型变量,其第一个元素嵌套了 A ;调用内置函数getfield获取 B 的 b 1 元素域分别为字符串变量 a 1、数字变量 a 2 以及双精度矩阵 a 3,调用内置函数setfiled设置 B 的 b 1 元素域为数字 2,由此 B 形变为不嵌套 A 的结构型变量,由getfield获取 B 的 b 1 元素域为数字 2。