Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #1844

Re: How to roll up multiple Line calls into a loop

From Dan <dflatin@rcn.com>
Newsgroups comp.soft-sys.math.mathematica
Subject Re: How to roll up multiple Line calls into a loop
Date 2011-04-23 11:50 +0000
Organization Steven M. Christensen and Associates, Inc and MathTensor, Inc.
Message-ID <iouedm$6h6$1@smc.vnet.net> (permalink)
References <iorih5$o6t$1@smc.vnet.net>

Show all headers | View raw


On Apr 22, 5:41 am, Sol Lederman <sol.leder...@gmail.com> wrote:
> Hi,
>
> I'm new to Mathematica.
>
> I have the following bit of graphics:
>
>    Graphics[{
>   Line[{{0, 10}, {1, 0}}],
>   Line[{{0, 9}, {2, 0}}],
>   Line[{{0, 8}, {3, 0}}],
>   Line[{{0, 7}, {4, 0}}],
>   Line[{{0, 6}, {5, 0}}],
>   Line[{{0, 5}, {6, 0}}],
>   Line[{{0, 4}, {7, 0}}],
>   Line[{{0, 3}, {8, 0}}],
>   Line[{{0, 2}, {9, 0}}],
>   Line[{{0, 1}, {10, 0}}],
>   }]
>
> I want to simplify it to do some sort of iteration to compute the end points
> of the lines. I can do this easily in a variety of procedural languages but
> I haven't yet grokked how Mathematica would do this.
>
> Would someone please show me the short way, I imagine using Table somehow?
>
> Thanks.
>
> Sol

Graphics[(Line[{{0,11-#},{#,0}}]&)/@Range[10]]

But let's take this appart a little. This short Mathematica expression
has a number of parts and it is worth looking at each of them.

Beginning at the right hand side, look at Range[10]

In[10]:= Range[10]
Out[10]= {1,2,3,4,5,6,7,8,9,10}

See how it can generate a sequence of numbers. This function is very
general, having the flexibility for creating almost any sort of
uniformly spaced set of values.

The next key element is the operator /@. This is shorthand for Map
which takes a function and applies it to each element of a list.

The function applied is a pure function, also called an anonymous
function in some languages:

(Line[{{0,11-#},{#,0}}]&)

The key syntactical elements are the Slot symbol, #, and the function
terminator, &. The outer parentheses are not needed but it is a good
practice to delimit your inline functions so it is obvious when
reading your code what the function is.

Dan

Back to comp.soft-sys.math.mathematica | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

How to roll up multiple Line calls into a loop Sol Lederman <sol.lederman@gmail.com> - 2011-04-22 09:41 +0000
  Re: How to roll up multiple Line calls into a loop Dan <dflatin@rcn.com> - 2011-04-23 11:50 +0000
    Re: How to roll up multiple Line calls into a loop "Christopher O. Young" <cy56@comcast.net> - 2011-04-25 11:29 +0000
  Re: How to roll up multiple Line calls into a loop Albert Retey <awnl@gmx-topmail.de> - 2011-04-23 11:51 +0000
  Re: How to roll up multiple Line calls into a loop "Christopher O. Young" <cy56@comcast.net> - 2011-04-23 11:51 +0000
  Re: How to roll up multiple Line calls into a loop Helen Read <readhpr@gmail.com> - 2011-04-23 11:51 +0000
  Re: How to roll up multiple Line calls into a loop Peter Pein <petsie@dordos.net> - 2011-04-23 11:52 +0000
  Re: How to roll up multiple Line calls into a loop roby <roby.nowak@gmail.com> - 2011-04-23 11:52 +0000
  Re: How to roll up multiple Line calls into a loop Yves Klett <yves.klett@googlemail.com> - 2011-04-24 12:24 +0000
    Short-cut for reiteration, via postfix usage of Table as pure "Christopher O. Young" <cy56@comcast.net> - 2011-04-25 11:27 +0000
    Short-cut for reiteration, via postfix usage of Table as pure "Christopher O. Young" <cy56@comcast.net> - 2011-04-25 11:27 +0000
      Re: Short-cut for reiteration, via postfix usage of Table as pure Peter Pein <petsie@dordos.net> - 2011-04-26 10:51 +0000
      Re: Short-cut for reiteration, via postfix usage of Table as pure Peter Pein <petsie@dordos.net> - 2011-04-26 10:50 +0000
        Re: Short-cut for reiteration. Concise, readable symbols and "Christopher O. Young" <cy56@comcast.net> - 2011-04-27 09:38 +0000

csiph-web