chooseargs

Allows direct, inline return of any combination of arguments and indices to a function.
150 Downloads
Updated 16 Feb 2012

View License

C = chooseargs(f,argidx,idxc,[f_inputs])

chooseargs allows direct selection of any
combination of arguments to a function f
that has the following form:

[y1,y2,...,yM] = f(f_inputs)

and outputs a cell C such that:

C{k} == y[argidx(k)](idxc{k}).

Comma-separated multidimensional
indices are allowed if the entries of
the cell idxc are themselves cells.

Example:

A=magic(3)

[y1,y2]=max(A);

%returns y1=[8,9,7], y2=[1,3,2]

chooseargs(@max,1,[2,3],A)
%returns y1([2,3])=[9,7]
chooseargs(@max,1,{1,[2,3]},A)
%returns y1(1,[2,3])=[9,7]
chooseargs(@max,2,[],A)
%returns y2=[1,3,2]
chooseargs(@max,2,{[1,1],[2,3]},A)
%returns y2([1,1],[2,3]) = [3,2;3,2]
chooseargs(@max,[1,2],{{[1,1],[2,3]},[]},A)
%returns {y1([1,1],[2,3]),y2}
% = {[9,7;9,7],[1,3,2]}

Cite As

Adam Gripton (2024). chooseargs (https://www.mathworks.com/matlabcentral/fileexchange/35115-chooseargs), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Function Creation in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0