Re: SameTest in Union
- To: mathgroup at smc.vnet.net
- Subject: [mg61112] Re: [mg61106] SameTest in Union
- From: curtis <gardyloo at mail.wsu.edu>
- Date: Tue, 11 Oct 2005 03:20:05 -0400 (EDT)
- References: <200510100640.CAA26942@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, Jack,
I always have to relearn SameTest stuff. In this case I had it all
along, but didn't notice that lst has a misplaced dot between the last
two elements (should be a comma). If that's changed, and you use
Union[lst, SameTest -> (#1 - #2 < 0.05 & )]
then it should do what you want.
Cheers,
C.O.
Jack Goldberg wrote:
>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
>
>
>
>
--
|=====
| Curtis Osterhoudt
| gardyloo at mail.wsu.edu
| PGP Key ID: 0x235FDED1
| Please avoid sending me Word or PowerPoint attachments.
| http://www.gnu.org/philosophy/no-word-attachments.html
|=====
- References:
- SameTest in Union
- From: Jack Goldberg <jackgoldberg@comcast.net>
- SameTest in Union