当您有希望按名称组织的数据时,可以使用结构来存储它。结构将数据存储在称为字段,然后可以通过指定的名称访问。使用点符号来创建、分配和访问结构字段中的数据。如果存储在字段中的值是一个数组,则可以使用数组索引来访问该数组的元素。当您将多个结构存储为结构数组时,您可以使用数组索引和点表示法来访问单个结构及其字段。
首先,创建一个名为病人
它有存储病人数据的字段。该图显示了该结构如何存储数据。一个结构如病人
也被称为a标量结构因为变量存储一个结构。
使用点表示法添加字段的名字
,计费
,测试
,为每个字段分配数据。在本例中,语法patient.name
创建结构及其第一个字段。下面的命令添加了更多的字段。
patient.name =“John Doe”;病人。计费= 127; patient.test = [79 75 73; 180 178 177.5; 220 210 205]
病人=结构体字段:name: 'John Doe' billing: 127 test: [3x3 double]
创建字段后,可以继续使用点表示法访问和更改它存储的值。
例如,修改计费
字段。
病人。计费= 512.00
病人=结构体字段:name: 'John Doe' billing: 512 test: [3x3 double]
使用点表示法,您还可以访问任何字段的值。例如,制作一个柱状图的值patient.test
.添加一个带有文本的标题patient.name
.如果一个字段存储了一个数组,那么该语法将返回整个数组。
标题栏(patient.test) (“测试结果”+ patient.name)
若要访问存储在字段中的部分数组,请添加适合数组大小和类型的索引。例如,在的一列中创建数据的条形图patient.test
.
栏(patient.test (: 1))
结构数组可以是非标量的。您可以创建具有任何大小的结构数组,只要数组中的每个结构具有相同的字段。
例如,添加第二个结构病人
有第二个病人的数据。同样,赋值127
到计费
第一个结构的场。由于数组现在有两个结构,您必须通过索引访问第一个结构,如病人(1)。计费= 127
.
(2) . name =“安巷”;(2) .billing病人= 28.50; patient(2).test = [68 70 68; 118 118 119; 172 170 169]; patient(1).billing = 127
病人=1×2带有字段的结构数组:名字计费测试
作为一个结果,病人
是一个1乘2的结构数组,其内容如图所示。
数组中的每个患者记录都是一个类结构结构体
.结构的数组有时被称为结构体数组.然而,条款结构体数组和结构数组意思是一样的。与其他MATLAB®数组一样,结构数组可以有任何尺寸。
结构数组具有以下属性:
数组中的所有结构都具有相同数量的字段。
所有结构都具有相同的字段名。
不同结构中的同名字段可以包含不同类型或大小的数据。
如果向数组添加新结构而不指定其所有字段,则未指定字段将包含空数组。
(3) . name =“新名字”;病人(3)
ans =结构体字段:name: 'New name ' billing: [] test: []
要在结构数组中建立索引,请使用数组索引。例如,病人(2)
返回第二个结构。
病人(2)
ans =结构体字段:name: 'Ann Lane' billing: 28.5000 test: [3x3 double]
要访问字段,请使用数组索引和点表示法。例如,返回计费
第二个病人的视野。
(2) .billing病人
ans = 28.5000
您还可以在字段存储的数组中建立索引。创建一个柱状图,只显示的前两列病人(2)test
.
栏(病人(2)。测试(:,(1 2)))
请注意
只有在引用结构数组的单个元素时,才能索引到字段的一部分。MATLAB®不支持诸如金宝app病人(1:2)test (1:2, 2:3)
,它试图为结构数组的多个元素在一个字段中建立索引。相反,使用arrayfun
函数。