How do I find the two smallest values in varargin?

1 Ansicht (letzte 30 Tage)
Harold Meggs
Harold Meggs am 24 Apr. 2015
Beantwortet: David Sanchez am 24 Apr. 2015
For example, the varargin input is 5,3,6
I want to multiply the the two lowest values, 5*3.
I have tried this:
y=sort (varargin,1, 'ascend');
z=y(:, 1:2);
area= z{1}*z{2};
This is the error I receive:
Error using sort
DIM and MODE arguments not supported for cell arrays.

Akzeptierte Antwort

David Sanchez
David Sanchez am 24 Apr. 2015
function out = two_lowest_values(varargin)
a = sort(cell2mat(varargin));
out = a(1)*a(2);

Weitere Antworten (1)

Harold Meggs
Harold Meggs am 24 Apr. 2015
I have also tried this:
Xs = sort(varargin);
min2nd = Xs{1,2};
minVal=min(varargin);
area=min2nd*minVal;
Error message:
Error using sort
Input argument must be a cell array of strings.

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by