MATLAB Answers

0

Put workspace data into menu and prompt someone to select it

Asked by Nathan Formby on 10 Sep 2019
Latest activity Commented on by Nathan Formby on 14 Sep 2019
How do I Load in MA2_data.mat. Prompt the user to select a day and a location based on the data provided. On the command window, output the day, location, and ice thickness [m] for that day. NOTE (avoid hardcoding): Your code should produce different results if the data for Ice changes. The options for the location or day chosen should change if the number of values in LocationID or Days changes.
load ('MA2_data.mat');
menu('Please select a day',string(Days));
menu('Please select a loaction',LocationID);
fprintf('On Day %s, at loacation %LocationID, the ice thickness was %0.4f [m]',Days,LocationID,Ice)
What letter or symbols do I place after the percent symbols?

  1 Comment

There's lots of options.
To load data, see the load() command. (doc load, for help).
Once it's loaded you could present the days and locations in a listbox.

Sign in to comment.

1 Answer

Adam Danz 님의 답변 13 Sep 2019
 채택된 답변

You weren't saving the user's selections (menu outputs). The output to menu is an index of the user's selection. Use those indices in the Days, LocationID, and Ice variables.
See comments below regarding other changes.
load ('MA2_data.mat');
dayIdx = menu('Please select a day',string(Days));
locIdx = menu('Please select a loaction',LocationID);
fprintf('On Day %d, at location %s, the ice thickness was %0.4f [m]\n',Days(dayIdx),LocationID(locIdx),Ice(dayIdx,locIdx))
% %d because an integer will be placed there
% %s because a string will be place there (or char array)
% \n so the cursor goes to the next line after the message

  1 Comment

Thank you for your assistance. Works like a charm.

Sign in to comment.