Number of .mat files into single .mat file
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Matt J
2022-8-9
编辑:Matt J
2022-8-9
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 个评论
Matt J
2022-8-16
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
2022-8-16
Please show the output of
whos -file Data1.mat
whos -file Data2.mat
更多回答(1 个)
Stephen23
2022-8-16
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!