Re: Apply function to parts of a list
- To: mathgroup at smc.vnet.net
- Subject: [mg86272] Re: Apply function to parts of a list
- From: "David Park" <djmpark at comcast.net>
- Date: Fri, 7 Mar 2008 02:29:24 -0500 (EST)
- References: <fqo8pn$svq$1@smc.vnet.net>
Here is a sample set of data: data = Table[{i, 2 i}, {i, 1, 10}]; Since Times is Listable you can scale all the elements by 2 simply by writing: 2 data {{2, 4}, {4, 8}, {6, 12}, {8, 16}, {10, 20}, {12, 24}, {14, 28}, {16, 32}, {18, 36}, {20, 40}} If you want to map a function f onto all the elements you can just use: f /@ data {f[{1, 2}], f[{2, 4}], f[{3, 6}], f[{4, 8}], f[{5, 10}], f[{6, 12}], f[{7, 14}], f[{8, 16}], f[{9, 18}], f[{10, 20}]} I'm not certain why you used MapAt instead of the more direct Map. -- David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ "guerom00" <guerom00 at gmail.com> wrote in message news:fqo8pn$svq$1 at smc.vnet.net... > Hi all, > > Very often, I find myself having datas to plot of this form : > > data={{x1,y1},{x2,y2},{x3,y3}...{xn,yn}} > > So, very conventional : a list of abscissa and ordinate. Now, let's say I > want to multiply by 2 all my ascissa. Right now, I write : > > MapAt[2*#&,data,Table[{i,1},{i,1,Length[data]}]] > > It's OK but I isn't there another way to achieve this as I find this > rather "involved" for such a simple thing ? > > Thanks in advance. >