       Re: Replace elements in a matrix

• To: mathgroup at smc.vnet.net
• Subject: [mg116451] Re: Replace elements in a matrix
• From: DrMajorBob <btreat1 at austin.rr.com>
• Date: Wed, 16 Feb 2011 04:33:20 -0500 (EST)

```a = {{0, 1}, {1, 2}};
b = {{1, 3}, {2, 5}};
c = {{0, 3}, {2, 2}};

c == With[{u = Unitize[a - 1]},
a u + b (1 - u)]

True

or

d = a;
p = Position[a, 1]
c == ReplacePart[a, Thread[p -> Extract[b, p]]]

True

Bobby

On Tue, 15 Feb 2011 05:32:51 -0600, 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.
>

--
DrMajorBob at yahoo.com

```

• Prev by Date: Re: Replace elements in a matrix
• Next by Date: Re: Replace elements in a matrix
• Previous by thread: Re: Replace elements in a matrix
• Next by thread: Re: Replace elements in a matrix