how to name matfile from variable name

I am trying to allow end users to name the .mat file that will save current settings as a preset.
What have tried so far is:
presetName = inputdlg({'Enter a name for the Preset'},'Preset');
%presetNameMat = strcat( presetName,'.mat');
save('presetName');
SaveUserSettings(handles);
Which saves everything in a file called presetName.mat - and not a .mat file named from the variable presetName. If I try and pass the value instead I get : Error using save Argument must contain a string.

 Akzeptierte Antwort

Star Strider
Star Strider am 9 Jun. 2016

0 Stimmen

This should work:
presetNameCell = inputdlg({'Enter a name for the Preset'},'Preset');
presetName = presetNameCell{:};
save(presetName);
You can of course combine them as:
save(presetNameCell{:});
I broke them out into separate lines so you can see how the code works.

2 Kommentare

kev111
kev111 am 9 Jun. 2016
Brilliant, many thanks.
Star Strider
Star Strider am 9 Jun. 2016
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Shameer Parmar
Shameer Parmar am 10 Jun. 2016

0 Stimmen

Hi Kev111,
In your code, simply replace the line
save('presetName');
with
save(char(presetName));
and try..

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by