construct anonymous function that returns the argmax of two symbolic variables

1 visualizzazione (ultimi 30 giorni)
Hi, I'd like to construct an anonymous function that returns the argmax of two symbolic variables, e.g.,
syms x y
symMax = @(x,y) max(x,y)
symMax(3,4)
returns
4,
but I don't know how to persuade the anonymous function to return the second argument of max, which is 2.
Parenthetically, I can't do this even when x,y are regular variables, but in that case I have more options to work with.
Thanks very much for any advice.
Leo

Risposta accettata

Mischa Kim
Mischa Kim il 29 Apr 2014
Modificato: Mischa Kim il 29 Apr 2014
Leo, use
symMax = @(x) [max(x) find(x==max(x))]
symMax([3,4])

Più risposte (1)

Leo Simon
Leo Simon il 29 Apr 2014
Wow, so simple, thanks very much indeed! For my purposes
argmax = @(x)(find(x==max(x)))
is perfect, since I only care about the second argument!

Categorie

Scopri di più su Symbolic Math Toolbox 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