Re: problem with Part function

*To*: mathgroup at smc.vnet.net*Subject*: [mg18190] Re: [mg18172] problem with Part function*From*: BobHanlon at aol.com*Date*: Mon, 21 Jun 1999 22:50:33 -0400*Sender*: owner-wri-mathgroup at wolfram.com

Dario, Use ReplacePart mat = Table[Table[0, {5}], {5}]; xy = {3, 3}; mat = ReplacePart[mat, 1, xy] {{0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}} xy2 = Table[{n, n}, {n, Length[mat]}]; mat = ReplacePart[mat, 1, xy2] {{1, 0, 0, 0, 0}, {0, 1, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 1, 0}, {0, 0, 0, 0, 1}} val = Range[Length[mat]]; valPos = Table[{n}, {n, Length[mat]}]; mat = ReplacePart[mat, val, xy2, valPos] {{1, 0, 0, 0, 0}, {0, 2, 0, 0, 0}, {0, 0, 3, 0, 0}, {0, 0, 0, 4, 0}, {0, 0, 0, 0, 5}} Bob Hanlon In a message dated 6/20/99 2:27:38 AM, bubbola at workline.it writes: >I've a matrix of zeros, say: >mat=Table[Table[0,{5}],{5}]; >then, I've a point in xy axys, >xy={3,3}; >now, I want the position {3,3} of matrix becomes 1; >if I write >mat[[xy]]=1; or mat[[{3,3}]]=1; it doesn't work; only mat[[3,3]]=1 >works, but I don't want rewrite all. >I think I've to use something like Map, Thread, Apply or so, but I don't > >know what and how exactely; >