Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Replace elements in a matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116445] Re: Replace elements in a matrix
  • From: Adriano Pascoletti <adriano.pascoletti at uniud.it>
  • Date: Wed, 16 Feb 2011 04:32:15 -0500 (EST)

A solution based on Transpose and ReplaceAll

In[1]:= a = {{0, 1}, {1, 2}}; b = {{1, 3}, {2, 5}};


Transpose[{a, b}, {3, 1, 2}]


% /. {{1, x_Integer} :> x, {x_Integer, _Integer} :> x}


Out[3]= {{{0, 1}, {1, 3}}, {{1, 2}, {2, 5}}}
Out[4]= {{0, 3}, {2, 2}}


Adriano Pascoletti

2011/2/15 kiz_0987 <kp.0987 at gmail.com>

> 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.
>
>


  • Prev by Date: Re: Replace elements in a matrix
  • Next by Date: Re: How to do quickest
  • Previous by thread: Re: Replace elements in a matrix
  • Next by thread: Re: Replace elements in a matrix