[Date Index]
[Thread Index]
[Author Index]
Re: Problem using a loop to generate data for Point function
*To*: mathgroup at smc.vnet.net
*Subject*: [mg35635] Re: Problem using a loop to generate data for Point function
*From*: Oliver Ruebenkoenig <ruebenko at donne.imtek.uni-freiburg.de>
*Date*: Wed, 24 Jul 2002 02:05:51 -0400 (EDT)
*Organization*: Rechenzentrum der Universitaet Freiburg, Germany
*References*: <ahg821$92v$1@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
On Mon, 22 Jul 2002, Michael Carnright wrote:
> For[i = 1, i < 10, i++, Show[Graphics[Point[{i, i}]]]]
>
> This genereates nine graphics with one point each. I was trying to
> generate one graphic with nine points. I see my problem as calling
> the Point function nine times instead of only once. I wish to use the
> data generated by the loop on a single graphic.
It looks as if you are coming from an imperative programming background.
Is the "for loop" a must?
Here is a suggestion on a functional solution:
Show[Graphics[Point[{#1, #1}] & /@ Range[1, 9]]]
i assume you are not familiar with some of the expressions above.
evaluate:
Range[1, 9]
this returns a list with numbers 1 to 9.
now Point[{#1, #1}] & is a pure function. this means a function without a
name. usually you would write something like
a = 1 + i
with a pure function you write (1 + #1)& here #1 takes the job of i and
the & is to denote that we are dealing with a pure function.
to put some values into #1 you could map them. this is what the /@ does.
so we map the result from Range[1,9] onto the pure function
Point[{#1,#1}]. to see that evaluate:
Point[{#1, #1}] & /@ Range[1, 9]
does this help ?
Oliver Ruebenkoenig, <ruebenko at imtek.de>
Phone: ++49 +761 203 7293
Prev by Date:
**Re: elementwise vector scalar subtraction**
Next by Date:
**RE: Re: Q: Simplify with "much less" assumptions**
Previous by thread:
**Re: Problem using a loop to generate data for Point function**
Next by thread:
**Memory leak? Self-created non-executable Help notebook?**
| |