Rename a variable using a string

127 visualizzazioni (ultimi 30 giorni)
Calvin Ebert
Calvin Ebert il 22 Mar 2019
Modificato: Calvin Ebert il 25 Mar 2019
Ok ok, I see everyone says to not create dynamic variables and all but I am trying to do something specific, if there is another method, Ill gladly accept it.
I have some mat files saved with tables, all the same type just different "Machines" on each different file.
I want to use a function to do things with those tables and save them with the same name. Here is what I have:
function DoStuff(Name)
Name=strcat(Name, 'TheRestOfTheFileName')
load('Folder', Name) %This puts the variable in the workspace with its own name
NewVar=load('Folder', Name)
NewVar=NewVar.(Name) %This creates a new variable with the data from the old one.
I want it this way so I can do the same process to all of the files just by changing the name and running it through this function.
Now after running stuff, I want it to save to the same place with the same name
I was thinking about saving over the original variable since I can use save('Folder', Name) and I have tried assignin('base', Name, NewVar) with no luck.
Can anyone suggest a way to do this?
I am thinking since this function will be in another, I can just call the result from DoStuff, then manually set and save it. Hopefully works but would be good to know a method for this either way
Thank you very much

Risposta accettata

Stephen23
Stephen23 il 22 Mar 2019
Modificato: Stephen23 il 22 Mar 2019
"Rename a variable using a string"
Why bother? Both load and save work with scalar structures, which makes your task easy:
S = load(filename)
V = S.(name)
... do stuff with V
S.(name) = V;
save(filename,'-struct',S)
Or skip assigning to V and just work with S.(name) directly. You might also find other load and save options useful (e.g. specifying fields to import/save): read the documentation carefully!
  1 Commento
Calvin Ebert
Calvin Ebert il 25 Mar 2019
Modificato: Calvin Ebert il 25 Mar 2019
Beautiful, thank you for clearing that up for me! I will try it out.
Edit: Code working perfectly, thanks again!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by