[Date Index]
[Thread Index]
[Author Index]
Some function like Position[] but uses criteria, not pattern?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg99389] Some function like Position[] but uses criteria, not pattern?
*From*: "Nasser Abbasi" <nma at 12000.org>
*Date*: Tue, 5 May 2009 05:37:22 -0400 (EDT)
*Reply-to*: "Nasser Abbasi" <nma at 12000.org>
V 7.0
Position[] works by returning position of elements which matches a pattern.
This is all good and well.
But sometimes, I need to find the positions (i.e index) of elements that
matches a criteria, not a pattern.
For example, using pattern
a = {1, 0, 4, -5, 8}
Position[a, 0]
Out[15]= {{2}}
But what if I wanted the position of the elements which, say, are larger
than 3? this is not a pttern, but a criteria. Which in this example should
find elements which are in position 3 and 5 in list 'a' above.
I can't type
Position[a, #1 > 3 & ]
Now, Select[] does take a criteria, good, so I could type
Select[a, #1 > 3 & ]
{4, 8}
But I wanted the positions of the elements, not the elements themselves.
I could use Select to find the elements, then use Position to find the
position of these elements as follows
c = Select[a, #1 > 3 & ];
Flatten[(Position[a, #1] & ) /@ c]
Out[65]= {3, 5}
But I think this is bit messy. I think Position[] or new function similar,
should have an option to return position of elements based on criteria, not
just pattern. The above gets more messy for me, when I wanted to find
position of elements in a matrix based on some criteria.
For example, find the position (i.e. row and column) index in a matrix (list
of lists) of those elements which matches some criteria. Say >3.
thanks,
--Nasser
Prev by Date:
**Re: why does DownValues not return all downvalues for a**
Next by Date:
**Re: Bug with Hypergeometric2F1?**
Previous by thread:
**Re: "Sticky" options when using Plot[] -- bug or feature?**
Next by thread:
**Re: Some function like Position[] but uses criteria, not**
| |