MathGroup Archive 2009

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

Search the Archive

Re: Mapping to a specific column or row in a matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg103173] Re: Mapping to a specific column or row in a matrix
  • From: dr DanW <dmaxwarren at gmail.com>
  • Date: Thu, 10 Sep 2009 07:16:49 -0400 (EDT)
  • References: <h7qem5$us$1@smc.vnet.net>

You are correct that you need a combination of Map and MapAt.
Specifically, you need the position spec from MapAt with the level
spec from Map.

MapAtLevel[f_, expr_, n_, levelspec_: {1}] :=
 Map[MapAt[f, #, n] &, expr, levelspec - 1]

It looks like you did this, but called it clunky.  By creating a new
function, it becomes much less clunky.  I often have to plot data from
a list of {x,y} pairs, but I want to transform all the y values to
decibel:

dat = {{1, 200.}, {2, 250.}, {3, 300.}};

In[30]:= MapAtLevel[20 Log[10, #] &, dat, 2, 2]

Out[30]= {{1, 46.0206}, {2, 47.9588}, {3, 49.5424}}

Daniel


  • Prev by Date: Re: Inconsistent behaviour of StudentTDistribution
  • Next by Date: Re: inconsistent synatx for FillingStyle and PlotStyle?
  • Previous by thread: Re: Re: Mapping to a specific column or row in a matrix
  • Next by thread: Re: Mapping to a specific column or row in a matrix