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

Home » Public Forums » archive » Re: using WHERE to search for multiple values
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: using WHERE to search for multiple values [message #30405 is a reply to message #30396] Thu, 25 April 2002 17:05 Go to previous message
Robert Stockwell is currently offline  Robert Stockwell
Messages: 74
Registered: October 2001
Member
Doug Martin wrote:

> I'm trying to do something like the following:
>
> w=where(im eq val)
>
> with im a byte array (say, 640x480)
> and val an array (say, 10 to 40 long)
>
> I want to find where im is equal to _any_ of the values in val. But,
> val is not always the same size.
>
> Is there a way to do this using one WHERE call? There seems to be a
> giant time difference between:
>
> for i=0,(size(val))[1]-1 do begin
> w=where(im eq val(i))
> ...
> endfor
>
> and
>
> w=where(im eq val(0) or val(1) or val(2) or ...)
>
> (but I can't do the above since val has different sizes from call to
> call)
>
>
> Sorry for the run-on nature of this post.
>
> Thanks,
> Doug
>

Hi Doug,
how about using an execute statement to call the where() a la

for i = 0,n_elements(val) do valstring = valstring + 'or val('+string(i)+')'
r = execute( 'w=where(im eq' + valstring+')')

should be ok unless there are a lot of vals.

cheers
bob

PS YAY, two execute() posts in one day.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Problem with z-buffering using IDLgrPolygon
Next Topic: Re: books about idl

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

Current Time: Fri Oct 10 19:33:02 PDT 2025

Total time taken to generate the page: 0.56131 seconds