How to load data without reloading?

12 vues (au cours des 30 derniers jours)
Mr M.
Mr M. le 27 Oct 2015
Commenté : Chad Greene le 27 Oct 2015
I would like to load variables from a .mat file, but just those ones which are not loaded before. It is possible not overwrite the variables?
  1 commentaire
per isakson
per isakson le 27 Oct 2015
Modifié(e) : per isakson le 27 Oct 2015

Connectez-vous pour commenter.

Réponses (1)

Chad Greene
Chad Greene le 27 Oct 2015
As I understand it, you have some variables in your workspace, let's call them x and y. You want to load some test.mat file that has variables x and y in them. You can do
x = 1;
y = 2;
t = load('test.mat');
x2 = t.x;
y2 = t.y;
  3 commentaires
Chad Greene
Chad Greene le 27 Oct 2015
You can try
m = matfile('test.mat');
w = who(m);
to the get names of the variables in test.mat.
Chad Greene
Chad Greene le 27 Oct 2015
Or, putting it all together, if test.mat contains a variable named x, load it:
if any(strcmpi(who(matfile('test.mat')),'x'))
x = load('test.mat','x');
end
Similarly, you could compare the variables in test.mat to the variables in your workspace using ismember with who.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Workspace Variables and MAT Files dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by