Clear Filters
Clear Filters

Picking Variable from Workspace

17 views (last 30 days)
Dheeraj Kapur
Dheeraj Kapur on 4 Mar 2016
Edited: Stephen23 on 8 Mar 2016
I have three variables pertaining to the same physical quantity (recorded from three different sources). Now, when I process the data, I want to give the control to user to pick one of the three variables based on which source of data he/she considers more reliable. I would like to open a dialog box and make the user pick one variable, copy that variable in another temporary variable within my script and then perform various operations/analsyes. What would be the best way to do something like this?
  1 Comment
Stephen23
Stephen23 on 4 Mar 2016
Edited: Stephen23 on 8 Mar 2016
The best way would be to keep the values in one variable and use indexing or dynamic fieldnames.

Sign in to comment.

Answers (2)

Steven Lord
Steven Lord on 4 Mar 2016
Store your data as fields in a struct array. Use FIELDNAMES to determine the files in the struct and let the user select one of those fields. Use dynamic field names to retrieve the appropriate field.

Dheeraj Kapur
Dheeraj Kapur on 8 Mar 2016
Thank you for your inputs! Actually, I was looking to do something like this (perhaps it wasn't so clear in the original question):
choice = inputdlg(sprintf('Choose the source:\n1: Source 1\n2: Source 2\n3: Source 3'));
if str2double(choice) == 1
source = source1;
elseif str2double(choice) == 2
source = source2;
elseif str2double(choice) == 3
source = source3;
end
where source1, source2 and source3 are three different variables in the workspace. I have managed it with the above lines of code. I'm not sure thought if this is the best way to do this.
Cheers
  1 Comment
Stephen23
Stephen23 on 8 Mar 2016
Edited: Stephen23 on 8 Mar 2016
"if this is the best way to do this" Probably not. The best way would be to store your data in one variable. Then you can simply use indexing or dynamic field names, or even loop over all of them.

Sign in to comment.

Categories

Find more on Structures in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!