本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
下面的示例说明了如何创建结构体数组。结构体是使用被称为字段的数据容器将相关数据组合在一起的一种数据类型。每个字段都可以包含任意类型或任意大小的数据。
将患者记录存储在含有字段 name
、billing
和 test
的标量结构体中。
patient(1).name = 'John Doe';
patient(1).billing = 127.00;
patient(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
patient
patient = struct with fields:
name: 'John Doe'
billing: 127
test: [3x3 double]
通过在数组名称后添加下标,可在此数组中添加其他患者的记录。
patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68, 70, 68; 118, 118, 119; 172, 170, 169];
patient
patient=1×2 struct array with fields:
name
billing
test
数组中的每条患者记录都是 struct
类的结构体。由结构体构成的数组通常称为结构体数组。与其他 MATLAB 数组类似,结构体数组可以具有任意维度。
结构体数组具有下列属性:
数组中的所有结构体都具有相同数目的字段。
所有结构体都具有相同的字段名称。
不同结构体中的同名字段可包含不同类型或大小的数据。
数组中新结构体的任何未指定字段均包含空数组。
patient(3).name = 'New Name';
patient(3)
ans = struct with fields:
name: 'New Name'
billing: []
test: []
访问结构体数组中的数据,看一下第一名患者有多少欠款,并根据其测试结果创建一个条形图。
amount_due = patient(1).billing
amount_due = 127
bar(patient(1).test)
title(['Test Results for ', patient(1).name])