       Re: Label of Max[list]

• To: mathgroup at smc.vnet.net
• Subject: [mg50226] Re: Label of Max[list]
• Date: Sat, 21 Aug 2004 03:04:40 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```On 8/20/04 at 4:57 AM, drbob at bigfoot.com (DrBob) wrote:

>wehMax[li_] := {m = Max[li], Select[Range[Length[li]], li[[#1]] == m & ]}
>myLabelMax[data_] :=
>   Module[{max = Max[data]}, {max, Flatten[Position[data, max]]}]

>test[n_] := Module[
>    {data = RandomArray[BinomialDistribution[10, 0.3], {n}], one, two},
>    one = Timing[wehMax[data]];
>    two = Timing[myLabelMax[data]];
>   {First[one], First[two], Last[one] == Last[two]}]

>test
>{1.5779999999999994*Second, 0.09299999999999997*Second, True}

>That's a timing for your method, then mine, and a test to see if

If it is speed you are after consider

labelMax[data_] :=
({data[[#1[]]], #1} & )[Ordering[data, -1]]

test[n_] := Module[
{data = Table[Random[], {n}], one, two},
one = Timing[labelMax[data]];
two = Timing[myLabelMax[data]];
{First[one], First[two], Last[one] == Last[two]}]

test
{0.03999999999999915*Second, 1.3100000000000023*Second, True}

Note, I changed your test program to use a uniform distribution of reals rather than a binomial distribution of integers for two reasons. First, generating a million uniform reals requires less time then generating a million binomial integers. Second, it is very likely the maximum of a million uniform reals is a unique value in that set. If the maximum value is not unique then the two methods will not give the same result.

Flatten@Position[data,Max@data] will return an ordered lists of all indices where Max@data occurs

Ordering[data, -1] will return a one element list containing the position of the last occurance of Max@data

Your method will get the same results as the method used by the OP. It isn't clear whether the OP considered duplicate maximum values or not.

--
To reply via email subtract one hundred and four

```

• Prev by Date: Re: Beware of NSolve - nastier example
• Next by Date: Re: Beware of NSolve - nastier example
• Previous by thread: Re: Label of Max[list]
• Next by thread: Hypergeometric function