Reading variables from workspace
Mostrar comentarios más antiguos
Hi- I was wondering if there is a way to read all variables from workspace ? I want to make a .mat file so if I run my simulation its spitting 20 variables in work space. I want to write these in a mat file e.g.
data = [a b c d f r g];
save data.mat data
Is there a way in which program read all variables from workspace?
Thank you
1 comentario
Star Strider
el 9 de Sept. de 2015
The code you posted should work, and will save your ‘data’ matrix to your ‘data.mat’ file.
What is not working as you want it to?
Respuesta aceptada
Más respuestas (2)
Walter Roberson
el 9 de Sept. de 2015
Do not create those variables dynamically in the workspace. Create fields of a structure. You can then save to a .mat file as individual variables using the save -struct option.
If you have a .mat file with a number of variables and you want to work on each of them, then use
datastruct = load('YourFile.mat');
Now each of the variables in the .mat file will appear as fields in datastruct. You can find out what is there using fieldnames(datastruct) . If you want to apply the same operation to each variable you can do that using structfun()
1 comentario
amberly hadden
el 10 de Sept. de 2015
Sulaymon Eshkabilov
el 4 de Feb. de 2019
0 votos
Here is an alternative (simpler) solution to the problem:
% save all variables in the workspace:
save('MYdata.mat');
% Store the variable names from mydat.mat in a cell: MYvars
MYvars = who('-file', 'MYdata.mat');
for k = 1:length(MYvars)
disp(MYvars{k})
end
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!