在结构数组中至少有两种组织数据的方法:平面组织和元素对元素的组织。最适合您的数据的方法取决于您计划如何访问数据,以及对于非常大的数据集,是否有系统内存限制。
平面组织允许更容易地访问字段中的所有值。元素对元素的组织允许更容易地访问与单个元素或记录相关的所有信息。以下各节包括每种类型组织的示例:
当你创建一个结构数组,MATLAB®在数组头文件中存储关于每个元素和字段的信息。因此,与包含相同数据的简单结构相比,具有更多元素和字段的结构需要更多内存。
考虑一个RGB图像,它有三个对应于颜色强度值的数组。
如果你有数组红色的
,绿色
,蓝色的
在工作区中,这些命令创建一个标量结构,名为img
使用平面组织:
img。红色=红;img。绿色=绿色;img。蓝色=蓝色;
平面组织允许您轻松地提取整个图像平面以进行显示、过滤或其他处理。例如,将红色的强度值乘以0.9
:
= .9 * imd .red;
如果您有多个图像,您可以将它们添加到img
结构,使每个元素img(1),…,img (n)
包含整个图像。有关向结构中添加元素的示例,请参见下面一节。
考虑一个有病人信息的数据库。每条记录都包含病人姓名、检查结果和账单金额的数据。
这些语句在名为病人
:
(1) . name =“John Doe”;病人(1)。计费= 127.00;病人(1)。Test = [79, 75, 73;180、178、177.5;220、210、205);
更多的病人对应于结构中的新元素。例如,为第二个病人添加一个元素:
(2) . name =“安巷”;病人(2)。计费= 28.50;病人(2)。测试= [68,70,68;118、118、119;172、170、169);
元素对元素的组织支持简单的索引来访问特定患者的数据。金宝app例如,按行(维度)计算第一个病人的测试结果的平均值2
)而不是按列排列:
aveResultsDoe =意味着(病人(1)test, 2)
这段代码返回
aveResultsDoe = 75.6667 178.5000 212.0000