Main Content

访问嵌套结构体中的数据

此示例演示了如何为嵌套于另一个结构体中的结构体建立索引。访问特定字段中的数据的一般语法为

structName(index).nestedStructName(index).fieldName(indices)

当结构体为标量 (1×1) 时,无需包括索引以引用单个元素。例如,创建一个标量结构体 s,其中字段 n 是一个嵌套的标量结构体,其中包含字段 abc

s.n.a = ones(3);
s.n.b = eye(4);
s.n.c = magic(5);

访问字段 b 的第三行:

third_row_b = s.n.b(3,:)

变量 third_row_b 包含 eye(4) 的第三行。

third_row_b =
     0     0     1     0

扩展 s,以便 sn 都为非标量 (1×2):

s(1).n(2).a = 2*ones(3);
s(1).n(2).b = 2*eye(4);
s(1).n(2).c = 2*magic(5);

s(2).n(1).a = '1a';
s(2).n(2).a = '2a';
s(2).n(1).b = '1b';
s(2).n(2).b = '2b';
s(2).n(1).c = '1c';
s(2).n(2).c = '2c';

结构体 s 现在包含如下所示的数据:

Structure containing nested structures as fields

访问 n(位于 s 的第一个元素中)的第二个元素的字段 b 中的数组部分内容:

part_two_eye = s(1).n(2).b(1:2,1:2)

这将返回 2*eye(4) 的左上角 2×2 的部分:

part_two_eye =
     2     0
     0     2

另请参阅

| |

相关主题