How does MATLAB run load, importdata, matfile functions
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Shih-Hsuan Yuan
il 25 Gen 2017
Commentato: Shih-Hsuan Yuan
il 25 Gen 2017
Hi,
I am wondering if anyone knows the actual process MATLAB run function load and matfile. I have a .mat file with a single variable that consists of a column of cells.
I try loading with both function
load(full_path)
and
temp_file = matfile(full_path);
data = temp_file.data;
I am using MATLAB R2015a and on my machine, the second method with matfile usually out performs the first one (load faster). It seems weird to me. I try opening both function and look at their code, but unfortunately they are built-in functions. I am wondering if anyone knows what is the reason behind this. Thanks
0 Commenti
Risposta accettata
Jan
il 25 Gen 2017
Depending on the format of the MAT file (see e.g. Level-5-mat-format, mat-file-versions) different methods are applied to import the file. E.g. the HDF5 format of 7.3 MAT-files can be accessed by other tools also and not only by built-in functions.
Your 2nd approach, which catches the output in a variable migth be faster, because the dynamic create of variables by load without output argument impedes the efficient processing.
Più risposte (1)
Steven Lord
il 25 Gen 2017
How many variables are in your MAT-file? How large and/or complicated are the variables NOT named data? Your first code that calls load cares about the answers to those two questions, because it needs to load ALL those variables into the workspace. I'm not certain how much (or if) the second code cares what else is in the MAT-file.
If you wanted a more apples-to-apples comparison, call load and indicate you want to read just the variable named data into memory using the variables input argument.
Vedere anche
Categorie
Scopri di più su Workspace Variables and MAT Files in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!