MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: choose elements from list based on elements in different list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg86752] Re: [mg86707] choose elements from list based on elements in different list
  • From: DrMajorBob <drmajorbob at bigfoot.com>
  • Date: Thu, 20 Mar 2008 02:53:57 -0500 (EST)
  • References: <8129857.1205982070064.JavaMail.root@m08>
  • Reply-to: drmajorbob at longhorns.com

> It seems to me that there are a few too many steps involved here,

We can't possibly guess which steps were necessary and which were not, as  
you haven't told us what answers you actually needed... and which you did  
not.

Bobby

On Wed, 19 Mar 2008 05:23:33 -0500, Claus <clausenator at gmail.com> wrote:


> Hi,
> I'm trying to choose elements from list based on elements in different
> list and I came up with the ideas listed below. It seems to me that
> there are a few too many steps involved here, and I need to run this on
> larger lists (~20000 entries).
> Are there ways to improve this?
> Thanks,
> Claus
>
> Here is the mathematica code:
>
> Reihe1={22,33,44,0,0,16,5,0,0,0}
> Reihe2={16,27,0,0,5,11,5,0,0,12}
>
> {22, 33, 44, 0, 0, 16, 5, 0, 0, 0}
>
> {16, 27, 0, 0, 5, 11, 5, 0, 0, 12}
>
> (*Find out where in Reihe1 and in Reihe2 are Zeros and notZeros*)
>
> Reihe1Is0 = Thread[Reihe1 == 0]
> Reihe1Not0 = Thread[Reihe1 != 0]
> Reihe2Is0 = Thread[Reihe2 == 0]
> Reihe2Not0 = Thread[Reihe2 != 0]
>
> {False, False, False, True, True, False, False, True, True, True}
>
> {True, True, True, False, False, True, True, False, False, False}
>
> {False, False, True, True, False, False, False, True, True, False}
>
> {True, True, False, False, True, True, True, False, False, True}
>
> (*Select the values of Reihe1 and Reihe2 which are of interest
>
> There are 4 Cases (not all of them calculated later) :
>   Case1 :  Reihe1 and Reihe2 are 0
>   Case2 :  Reihe1 and Reihe2 are NOT 0
>   Case3 : (Reihe2 is NOT 0) AND (Reihe1 is 0)
>   Case4 : (Reihe1 is NOT 0) AND (Reihe2 is 0)*)
>
> PreCase3=Pick[Reihe2,Reihe1Is0]
> PreCase4=Pick[Reihe1,Reihe2Is0]
>
> {0, 5, 0, 0, 12}
>
> {44, 0, 0, 0}
>
> Case3=Select[PreCase3,#>0&]
> Case4=Select[PreCase4,#>0&]
>
> {5, 12}
>
> {44}
>
>



-- 

DrMajorBob at longhorns.com


  • Prev by Date: Re: Find roots in a limited interval
  • Next by Date: Saving Packages (was: Re: importing nb files)
  • Previous by thread: Re: choose elements from list based on elements in different list
  • Next by thread: Re: Re: choose elements from list based on elements in different list