what does this format mean

43 views (last 30 days)
I found the following format in one of matlab cod
[~,best] = min(X);
can anyone tell me what is [~,best] mean and why he used bracket while min returned single value

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 24 Jul 2015
[min_value,index] = min(X);
% min-value is the min value and index is its index
[~,best] = min(X);
% gives only the index

More Answers (1)

Walter Roberson
Walter Roberson on 24 Jul 2015
min() does not always return a single value. If you provide two output positions, then min() returns the minimum values in the first position, and returns the indices of the minimum values in the second position.
In the context of an assignment, ~ indicates that an output is expected in that position but that the output is to be thrown away.
[~, best] = min(X)
would then mean "output the minimums to the first position and the indices of the minimums to the second position. Throw away the results in the first position because of the ~ and assign the results in the second position to the variable named "best".
In other words the code wants to know where the minimum is but does not need to know what the value of the minimum is.


No tags entered yet.

Community Treasure Hunt

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

Start Hunting!