how to extract one variable from mat flies
Mostrar comentarios más antiguos
Dear all, I have one sequence of mat files (1,2, ... 100.mat), each mat file as below: Name Size Bytes Class Attributes
c 1x1 552 struct
data 500x500 2000000 double
timestamp 1x55 110 char
now, I just need the data, would you please tell me how to extract the data from all of the mat files?
Looking forwards your kind help.
Pengju
Respuesta aceptada
Más respuestas (1)
Robert Cumming
el 10 de Sept. de 2014
You can request the "data" variable explicitly from the file:
load ( filename, 'data' );
Note this will add a new variable "data" to the workspace, so if you load 2 files the second load will overwrite the first, to load multiple files you could do:
files = dir ( '*.mat' );
for ii=1:length(files)
fileData{ii} = load ( files(ii).name, 'data' );
end
If all the "data" are the same size you could save it in a 3D matrix (pre-allocate first).
myMatrix = nan(500,50,100); % pre-allocate with NaN
for ii=1:length(files)
load ( files(ii).name, 'data' );
if exist ( 'data', 'var' ) % this checks to see if data was loaded from the load command.
myMatrix(:,:,ii) = data;
end
clear data % to avoid it being used in the next loop...
end
3 comentarios
Pengju
el 11 de Sept. de 2014
Robert Cumming
el 11 de Sept. de 2014
How do you plan to put 100 (variable "data") images onto a single image?
Pengju
el 11 de Sept. de 2014
Categorías
Más información sobre Workspace Variables and MAT Files en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!