Re: simple question (I hope) [message #53285 is a reply to message #53283] |
Fri, 30 March 2007 08:38   |
Fil.
Messages: 1 Registered: March 2007
|
Junior Member |
|
|
Ryan. wrote:
> Dear All,
>
> Do any of you know a fast way of removing elements from an array given
> an array of the indices? I know it is possible with a FOR loop but I
> would like to avoid that if possbile because the array to be searched
> could get quite large. Here is an example of what I would like to do:
>
> A = [0,2,4,6,8,10,12,14,16,18,20]
> indices_to_remove = [3,5,9]
>
> to get a resulting array, B:
> B = [0,2,4,8,12,14,16,20]
>
> Note: I don't find the indices to remove using the WHERE function so I
> am unable to use the COMPLEMENT option.
>
> I think the 2.5 hours at All-You-Can-Eat Sushi last night has affected
> my thinking because I'm still digesting.
>
> Thanks,
> Ryan.
>
What about:
A[indices_to_remove] = -454 ; or some other value different
than any value in A
ind = where(A ne -454, count)
if count then B = A(ind)
Fil.
|
|
|