comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Mode????
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Mode???? [message #14075 is a reply to message #13993] Thu, 14 January 1999 00:00 Go to previous messageGo to previous message
S Penzes is currently offline  S Penzes
Messages: 4
Registered: February 1998
Junior Member
RobertKehoe wrote:

> Hi there
> I am trying to find an IDL function that returns the mode out of an array
> of numbers anyone know a way of doing this. It strange that there does not
> seem to be a function for this.
> Rob.
> --
> The opinions expressed in this communication are my own and do not
> necessarily reflect those of my employer.

Hi,
If by "mode" you mean the number that occurs most frequently in a vector
then take a look at this piece of code. It comes from the very first "Widget
Programming" course (heck my manuals are all stamped DRAFT). It was put
forward as an example of a piece of code that would forego the use of loops.
To me it was a classic example and I periodically revive it to show what can be
done.

Hope this is what you were looking for.

Function Mode, Value
NumElements = N_ELEMENTS( Value )
SortedValue = [ Value( SORT( Value )),0]
SortedValue(NumElements)= NOT( SortedValue( NumElements-1 ))
ShiftedValue = SHIFT( SortedValue,1 )
RunLengths = WHERE( SortedValue NE ShiftedValue )
RunsShifted = SHIFT( RunLengths,1 )
MaxRun = MAX( Runlengths - RunsShifted, Index )
Mode = SortedValue( RunsShifted( Index ))
Return, Mode
End

IDL> input=[3,3,4,4,4,2,2,5,5,5,5]
IDL> print,mode(input)
5


--
Steven Penzes (Steven.nospamPenzes@dres.dnd.ca)
Note: remove "nospam" from Reply-To and .signature
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Re: Problem with IDL output files
Next Topic: Thanks to Bauer and Menakkis

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Dec 03 12:04:29 PST 2025

Total time taken to generate the page: 0.16240 seconds