编者按:这个文件被选为MATLAB中心本周精选
CATSTRUCT用不同的字段名连接或合并结构
X = CATSTRUCT(S1,S2,S3,…)合并结构S1,S2,S3…在一个新的结构中,X包含了各种
结构。一个例子:
A.name = '我';
b .收入= 99999;
X = catstruct (A, B)
% -> X.name = '我';
% x .收入= 99999;
如果一个字段名在多个结构中不是唯一的(例如,一个字段名在多个结构中出现),则只使用该字段的最后一个结构的值。在本例中,字段按字母顺序排序。同时也会发出警告。一个axample:
S1.name = '我';
S2。年龄= 20岁;S3。年龄= 30岁;S4。年龄= 40岁;
S5。诚实的=虚假的;
Y = catstruct(S1,S2,S3,S4,S5) %从S4使用值
输入可以是结构数组。所有的结构都应该有相同的尺寸。一个例子:
C(1)。Bb = 1;C(2)。Bb = 2;
D(1)。Aa = 3;D(2)。Aa = 4;
CD = catstruct(C,D) % CD是一个包含bb和aa字段的1x2结构数组
最后一个输入可以是字符串'sorted'。在这种情况下,
CATSTRUCT (S1, S2,…,'sorted') will sort the fieldnames alphabetically. To sort the fieldnames of a structure A, you could use CATSTRUCT(A,'sorted') but I recommend ORDERFIELDS for doing that.
当没有东西要连接时,结果将是一个空结构体(0x0不带字段的结构体数组)。
请注意
要连接结构体的类似数组,可以使用简单的连接:
A = dir('*.mat');B = dir('*.m');C = [a];B];
最新版本:4.0(2013年12月)
引用作为
乔斯(10584)(2021)。CATSTRUCT(//www.tianjin-qmedu.com/matlabcentral/fileexchange/7842-catstruct), MATLAB中央文件交换。检索.