主要内容

联合结构

此示例显示了如何使用[]操作员。要使连接结构必须具有相同的字段,但是这些字段不需要包含相同大小或类型的数据。

创建标量(1-BY-1)结构数组struct1struct2,每个都有字段一个b

struct1.a ='第一的';struct1.b = [1,2,3];struct2.a ='第二';struct2.b = rand(5);struct1,struct2
struct1 =带有字段的结构:A:'第一'b:[1 2 3]
struct2 =带有字段的结构:A:'第二'b:[5x5 double]

就像串联两个标量值一样[1,2]创建一个1 x-2数字阵列,串联struct1struct2创建一个1 x-2结构数组。

组合= [struct1,struct2]
组合=带有字段的1×2结构阵列:b

当您要访问特定字段的内容时,请在数组中指定结构的索引。例如,访问字段一个第一个结构。

组合(1).a
ans ='first'

串联也适用于非尺度结构阵列。例如,创建一个名称的2 by-2结构数组新的。因为1 x-2结构结合和2 by-2结构新的两者都有两列,您可以将它们与半分离器垂直串制。

新(1,1).a = 1;新(1,1).b = 10;新(1,2).a = 2;新(1,2).b = 20;新(2,1).a = 3;新(2,1).b = 30;新(2,2).a = 4;新(2,2).b = 40;较大= [合并;新的]
更大=带有字段的3×2结构阵列:b

访问字段一个结构较大(2,1)。它包含与新(1,1).a

较大(2,1).a
ans = 1

相关话题