I've written a GUI that loads data from a file, applies various treatments to said data based upon what uicontrols the user chooses to use, and then saves the treated data as a variable in a .mat file to a user specified folder.
However, I have found it desireable to allow the user to specify the variable name before saving to the folder.
My initial idea was to ask the user for their prefered name and then assign the value to that using eval.
[filename,foldername] = uigetfile;
[~,myData] = loadHSI(fullfile(folder,file));
newName = char(inputdlg('What would you like to call the variable?'));
eval(sprintf('%s = TreatedData;',newName));
[newFile,newPath] = uiputfile('*','Save As:');
Aside from being bad practice to use eval like that (a habit i've found difficult to break), this is not possible, as it would require dynamically adding a variable to a static workspace. My question then is: Is there any work around for allowing a user to define the name of a variable before being saved by a gui?