Re: SameTest in Union

• To: mathgroup at smc.vnet.net
• Subject: [mg61137] Re: SameTest in Union
• From: Peter Pein <petsie at dordos.net>
• Date: Tue, 11 Oct 2005 03:20:58 -0400 (EDT)
• References: <did38g\$qht\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Jack Goldberg schrieb:
> Hi Folks,
>
> I know there is a simple answer to this question but the help index
> idoes not help!
>
> I have a list, something like this:
>
> lst = {1.1101, 1.11095, 1.11076, 1.09, 2.3523, 2.352. 2.35211}
>
> I want to remove from the list those entries which are near each
> other but not identical, leaving only one representative for each of
> these numbers.  One approach is to use  Union with the option
> SameTest->???.   Here the same test might be that the difference
> between entries is less than, say 10^(-2).   But I can't seem to get
> SameTest to work.  So, what I want is
>
> Union[ lst, SameTest- > ?]
>
> so that  the union returns
>
> {1.1101,  2.35211}
>
> Here, I chose 2 representatives.  Any other choice is OK;   say,
>
> {1.11095,  2.352}
>
> is also satisfactory.
>
> There may be other ways to do this, but I thought of  Union  first.
> Perhaps, Cases  or Select  might be better.  Any help is appreciated.
>
> Jack
>
Hi Jack,

1.) sparate elemets of a list by ",", not by ".".
2.) Min[Abs[{1.1101, 1.11095, 1.11076}-1.09]]>10^-2

lst = {1.1101, 1.11095, 1.11076, 1.09, 2.3523, 2.352, 2.35211};
Union[lst, SameTest -> (Abs[#1 - #2] < 0.01 & )]

{1.09, 1.1101, 2.352}

Peter

```

• Prev by Date: Compile SparseArray help
• Next by Date: Re: SameTest in Union
• Previous by thread: Re: SameTest in Union
• Next by thread: Re: SameTest in Union