How do I find the two smallest values in varargin?

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

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

Più risposte (1)

Harold Meggs
Harold Meggs il 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.

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by