MathGroup Archive 2007

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

Search the Archive

Re: making a list using table but with different increment after a certain number

  • To: mathgroup at smc.vnet.net
  • Subject: [mg81498] Re: making a list using table but with different increment after a certain number
  • From: "D. Grady" <D.C.Grady at gmail.com>
  • Date: Wed, 26 Sep 2007 06:36:11 -0400 (EDT)
  • References: <fd7sae$cgl$1@smc.vnet.net>

On Sep 24, 3:25 am, sean_incali <sean_inc... at yahoo.com> wrote:
> I can make a list using
>
> Table[a, {a, 0, 100, 10}]
>
> gives
>
> {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}
>
> But let's say I wanted to make a list that increment in 1 up to 10,
> then increment in 10 onwards.
>
> So that after "tabling" I would get...
>
> {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90,
> 100}
>
> How do I accomplish this?

One solution is to map the Table function onto a list of iterators and
Join the resulting lists, like this:

In[7]:= Join @@ (Table[i, #] & /@ {{i, 1, 9}, {i, 10, 100, 10}})

Out[7]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80,
90, 100}

I'm not sure how familiar you are with Mathematica, so forgive me if
this is more information than you need, but:

In the above command, 'Table[i, #] &' is a pure function, similar to
the anonymous functions or lambda functions that many other
programming languages provide.  The '/@' operator (shorthand for
'Map') applies that function to every element in the following list,
and places the results into a new list.  'Join' joins the elements of
this new list into a single list.

Hope that helps!

-Daniel Grady



  • Prev by Date: Re: Still More Stylesheet Questions
  • Next by Date: Re: Dynamically changing 2 interdependent variables.
  • Previous by thread: Re: Re: making a list using table but with different increment after a certain number
  • Next by thread: Re: making a list using table but with different increment after a certain number