construct anonymous function that returns the argmax of two symbolic variables

1 次查看(过去 30 天)
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

采纳的回答

Mischa Kim
Mischa Kim 2014-4-29
编辑:Mischa Kim 2014-4-29
Leo, use
symMax = @(x) [max(x) find(x==max(x))]
symMax([3,4])

更多回答(1 个)

Leo Simon
Leo Simon 2014-4-29
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!

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by