How can i display variable name on message box?

The case is:
in workspace, there are some variable name and corresponding value
for example
name=value
A=1
B=2
C=3
D=4
How to display the minimum value included variable name in message box: A=1

 Accepted Answer

Try this:
A=1;
B=2;
C=3;
D=4;
varcell = {'A','B','C','D'};
varvctr = [A B C D];
[minvar,idx] = min(varvctr);
msg = sprintf('%s = %d',varcell{idx},varvctr(idx));
msgbox(msg, 'Minimum: ')

8 Comments

Thank you so much, its work!
My pleasure!
If my Answer solved your problem, please Accept it!
yt man
yt man on 18 Feb 2017
Edited: yt man on 18 Feb 2017
i try another method to show the min ans,by table
A=40;
B=6;
C=10;
D=21;
E=17;
F=22;
Name = {'A';'B';'C';'D';'E';'F'};
Value = [A;B;C;D;E;F];
T = table(Name,Value)
rows = min(Value);
vars = {'Name'};
Final = T(rows,vars)
why the final table will not show the name of minimum value, it show the F or 'Row index exceeds table dimensions'.
Notice that Star Strider used
[minvar,idx] = min(varvctr);
and then used the idx value.
You have used
rows = min(Value);
which returns the minimum value but not its position.
I still not understand how can i show it,
Name
____
'B'
if i change
rows = min(Value);
to
[minvar,idx] = min(Value);
it still cannot show what i want :(
Thanks Walter, its work!!!
Thank you Walter!
Fast asleep here (UTC-7) during that exchange.

Sign in to comment.

More Answers (0)

Asked:

on 17 Feb 2017

Commented:

on 18 Feb 2017

Community Treasure Hunt

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

Start Hunting!