save a variable nameing it after a string

1 view (last 30 days)
I have several matrices that I would like to save in a loop. I've tried to read all the save documents but it doesnt seam to work. I can save the matrix using a string and it becomes like A150.mat but I also want the matrix inside to be called that as well. The problem is that save() saves the matrix after what its called so when I get the name as a string(imported from a document outside matlab) its impossible to give the matrix that name. Thanks for any help

Accepted Answer

Kevin Holst
Kevin Holst on 3 Feb 2012
can you not import the string prior to saving? something like:
...
str = importFun(file);
eval([str ' = matToSave;'])
save([str '.mat'],str)
eval(['clear ' str])
clear str
  3 Comments
Jan
Jan on 4 Feb 2012
There can be more evil problems then "eval('clear all')":
str = 'x; system(''format C:'')'
eval(['clear ', str])
;-)
Emil
Emil on 6 Feb 2012
Thank you, it worked perfectly! :)

Sign in to comment.

More Answers (1)

Sean de Wolski
Sean de Wolski on 3 Feb 2012
Either This or This

Tags

Community Treasure Hunt

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

Start Hunting!