联合结构
此示例显示了如何使用[]
操作员。要使连接结构必须具有相同的字段,但是这些字段不需要包含相同大小或类型的数据。
创建标量(1-BY-1)结构数组struct1
和struct2
,每个都有字段一个
和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数字阵列,串联struct1
和struct2
创建一个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