rename workspace variables

5 vues (au cours des 30 derniers jours)
Joris
Joris le 5 Août 2011
Commenté : Albert Lu le 24 Avr 2017
I have two .mat's that each have a list of vectors with the same name. I want to rename the variables of the first .mat to originalname_Ref, and then save all vectors in one .mat. But how do I change the names of the workspace vectors?

Réponse acceptée

Daniel Shub
Daniel Shub le 5 Août 2011
When you load the .mat file, load it to a variable:
x = load('mymat.mat');
names = fieldnames(x)
for iname = 1:length(names)
x.(['new_', names{iname}]) = x.(names{iname});
x = rmfield(x, names{iname});
end
save('newmymat.mat', '-struct', 's');
  1 commentaire
Albert Lu
Albert Lu le 24 Avr 2017
Just to point out a small typo here. The last line should be save('newmymat.mat', '-struct', 'x');

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by