Re: Replace elements in a matrix

*To*: mathgroup at smc.vnet.net*Subject*: [mg116476] Re: Replace elements in a matrix*From*: Mala Jozsef <mala_jozsef at freemail.hu>*Date*: Wed, 16 Feb 2011 04:37:50 -0500 (EST)

kiz_0987 <kp.0987 at gmail.com> =EDrta: >I'm new to Mathematica and have a question regarding matrices. I was >sure that this problem must have been answered in the past, but could >not find a solution. > >I want to replace some elements in a matrix (based on value) with >elements from another matrix at the same position. Eg: >a = {{0, 1}, {1, 2}}; >b = {{1, 3}, {2, 5}}; > >I want to replace the elements in "a" which are equal to 1 (say) with >the same position elements in b to give: >c = {{0, 3}, {2, 2}}; > >How can I do this? I started with using Position and ReplacePart but >could not figure out how to get it to work in this case (other cases >are documented, such as replacing with a single value). > >Any help appreciated. Thanks. > Hi, the simple way of doing it may be this: c1=Table[If[a[[i,j]]==1,b[[i,j]],a[[i,j]]],{i,m},{j,n}] or c2=Sign[a-1]^2*(a-b)+b hth, Jozsef