Is it possible to combine two structures saved in two different .mat files?

I have two structures, both named 'data' with 17 same fields. They are basically measured data of two different dates, and I would like two combine these two. In order words, what I want is:
First .mat file: data = 1 x 85 struct array with 17 fields.
Second .mat file: data = 1 x 15 struct array with 17 fields.
---------------------------------------------------------------
Combined .mat file: data = 1 x 100 struct array with 17 fields.
If possible, I would like to avoid writing a script and rather use GUI. I also think it is possible two combine the two structures by loading both files (renaming one of them). I also would like to avoid this method.
Thanks.

2 Kommentare

Are the fields in exactly the same order between the two files?
bio lim
bio lim am 7 Aug. 2015
Bearbeitet: bio lim am 7 Aug. 2015
Yes, they are exactly the same.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Look at this example
q=num2cell(1:2)
p=num2cell(1:3)
a=struct('a',q,'b',q)
b=struct('a',p,'b',p)
c=[a b]

3 Kommentare

This would definitely work. However, this would make me to load all structures at the same time, and since they cannot be loaded under same name, I have to rename all of the rest except the first one. Is there any way to avoid renaming?
datacell1 = load('First file.mat');
datacell2 = load('Second file.mat');
combined.data = [datacell1.data, datacell2.data];
save('Combined file.mat', '-struct', 'combined')
Thanks, Walter. Works like charm :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by