How to merge the three mat files?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sadiq Akbar
el 5 de Mzo. de 2024
Comentada: Mathieu NOE
el 5 de Mzo. de 2024
I have three mat files. I wan a new mat file to which I want to copy the data of all these 3 mat files except the variables for which first I want to merge their data and then store that merged data in that new mat file. The variables for which I want merging their data are:
1- All "one1" variables in a single variable
2- All "two" variables in a single variable
3- All "time" variable in a single variable
3 comentarios
Walter Roberson
el 5 de Mzo. de 2024
How do you want to handle (for example) Noise ? You want to copy the data of the three mat files, so you want to copy Noise. Should we assume that all the values are the same between the mat files except for one1 two and time ? Should we produce (for example) Noise1 Noise2 Nois3 ?
whos -file a1
whos -file a2
whos -file a3
Respuesta aceptada
Mathieu NOE
el 5 de Mzo. de 2024
hello
a quick and dirty solution, you may have to find a way to generalize to more variables in that may be the case in the future
fileDir = pwd; % current directory (or specify which one is the working directory)
S = dir(fullfile(fileDir,'a*.mat')); % get list of data files in directory
%% recommended
% S = natsortfiles(S); % sort file names into natural order , see :
% %(https://fr.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort)
out_one = []; % one
out_two = []; % two
out_time = []; % time
for k = 1:length(S)
filename = S(k).name % shows filenames are correctly sorted (see command window)
load( fullfile(fileDir, filename)); %
out_one = [out_one; one]; % vertical concatenation
out_two = [out_two; cell2mat(two)]; % vertical concatenation
out_time = [out_time; time(:)]; % vertical concatenation
end
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Filename Construction 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!