Re: Replace elements in a matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg116473] Re: Replace elements in a matrix
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 16 Feb 2011 04:37:17 -0500 (EST)
a = {{0, 1}, {1, 2}}; b = {{1, 3}, {2, 5}}; ReplacePart[a, Thread[Position[a, 1] -> Flatten[Pick[b, a, 1]]]] {{0, 3}, {2, 2}} Bob Hanlon ---- kiz_0987 <kp.0987 at gmail.com> wrote: ============= 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.