how to merge two mat files which have different structure cells into a mat file with a matrix
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
quang minh le
am 22 Dez. 2015
Beantwortet: SATISH KUMAR
am 16 Apr. 2017
I need to merge 1000 files with different structure cells into one matrix. For detailed, I make an examples of two files A and B files. File A has one row with n cells A = {cell(1a,1a), cell(1a,2a), .... cell(1a,na)} and B has one row and m cells B = {cell(1b,1b), cell(1b,2b), .... cell(1b,mb)}. Each cell in A and B has same 3 columns but different rows. My question is how to merge these two files with a transformation of all cell content in to ONE matrix mat file like: [cell(1a,1a); cell(1a,2a); .... cell(1a,na); cell(1b,1b); cell(1b,2b), .... cell(1b,mb)] Thanks.
2 Kommentare
jgg
am 22 Dez. 2015
I think you need to give us a clearer example of what you're trying to do. Let's say you have K files. Then, if I understand your problem, couldn't you just do this:
C = cell(K,1);
for i = 1:K
load(file_i);
C{i} = file_i;
end
Is this not what you want to do?
Akzeptierte Antwort
Renato Agurto
am 22 Dez. 2015
Bearbeitet: Renato Agurto
am 22 Dez. 2015
I think this should do it:
for i = 1:N
A = load(file_i);
A = struct2cell(A);
f{i} = cat(1,A{:})
end
combined_f = cat(1,f{:});
3 Kommentare
Renato Agurto
am 22 Dez. 2015
Bearbeitet: Renato Agurto
am 22 Dez. 2015
My answer was arlready for multiple files. file_i should actually be file_array{i}. where
file_array = {'file1.mat',..
'file2.mat',...
'file3.mat'};
then you can use the above code:
for i = 1:N
A = load(file_array{i}); %load file i
A = struct2cell(A); %get cell array with ALL matrices in file
f{i} = cat(1,A{:}) %merge matrices of file
end
combined_f = cat(1,f{:}); %merge matrices of all files
where N is the number of files. In this case 3
Weitere Antworten (1)
SATISH KUMAR
am 16 Apr. 2017
Try this its working. load(a.mat); load(b.mat); c = [a;b];
0 Kommentare
Siehe auch
Kategorien
Mehr zu MATLAB Compiler finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!