Number of .mat files into single .mat file
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kishore
el 9 de Ag. de 2022
Comentada: Walter Roberson
el 16 de Ag. de 2022
Hi,
I've 10 .mat files. I want to overlap all 10 .mat files into one (single) mat file.
For ex: my filename is data1, data2,......,data10.mat.
Can someone help me to solve this problem???
Thanks in advance
3 comentarios
Respuesta aceptada
Matt J
el 9 de Ag. de 2022
Editada: Matt J
el 9 de Ag. de 2022
It depends what they contain and how you want the variables joined within the final .mat file. One way:
filenames="data"+(1:10)+".mat";
for i=1:numel(filenames)
S(i)=load(filenames(i));
end
save("JoinedData.mat",'S')
9 comentarios
Matt J
el 16 de Ag. de 2022
JoinedData.mat matrix value should be like this, 44444 x 67
It won't be. loading JoinedData.mat will give you the structure S, which you already have in the workspace.
Walter Roberson
el 16 de Ag. de 2022
Please show the output of
whos -file Data1.mat
whos -file Data2.mat
Más respuestas (1)
Stephen23
el 16 de Ag. de 2022
Fake data:
X = 1:3;
save data1.mat X
X = 4:6;
save data2.mat X
X = 7:9;
save data3.mat X
clear
Joining file data:
N = 3;
C = cell(1,N);
for k = 1:N
F = sprintf('data%d.mat',k);
C(k) = struct2cell(load(F));
end
Xnew = vertcat(C{:});
save('joineddata.mat','Xnew')
Checking:
S = load('joineddata.mat');
S.Xnew
0 comentarios
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!