MathGroup Archive 2007

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

Search the Archive

Re: apparently I don't know how to use Map (or Apply or MapThread)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg77366] Re: apparently I don't know how to use Map (or Apply or MapThread)
  • From: dh <dh at metrohm.ch>
  • Date: Thu, 7 Jun 2007 03:56:10 -0400 (EDT)
  • References: <f4676i$1n3$1@smc.vnet.net>


Hi,

Map evaluates the function for every list element, in your case for 

{0.098, 0.951, 0.954} and  {0.509, 0.914, 0.487}. Then #[[i,i] does not 

make sense. What you want is to evaluate the function on m and then it 

works:

Table[#[[i,i]],{i,Length[#]}]&[m]

hope this helps, Daniel



dbsearch04 at yahoo.com wrote:

> I started with this:

> 

> m = {{0.098, 0.951, 0.954}, {0.509, 0.914, 0.487}}

> 

> I tried to do this

> 

> Table[#[[i, i]], {i, Length[#]}] & /@ m

> 

> It does not work, but this works

> 

> Diag := Function[x, Table[x[[i, i]], {i, Length[x]}]]; Diag[m]

> 

> !@#$%^&*(

> 

> Can anyone tell me why? I also tried: Apply, MapThread,

> DiagonalMatrix, TakeMatrix, adding () around the pure function...

> 

> I know that this is a simple problem. Would Evaluate help?

> 

> TIA.

> 

> Regards..

> 

> 




  • Prev by Date: Re: mathematica 6 frontend and linux
  • Next by Date: Re: How to show the plot in Module[{}, ]?
  • Previous by thread: Re: apparently I don't know how to use Map (or Apply or MapThread)
  • Next by thread: Re: apparently I don't know how to use Map (or Apply or MapThread)