How to get two matrices with different element values from a mother matrix?

5 visualizaciones (últimos 30 días)
I have this matrix:
A=[2 0 1; 1 2 1; 2 2 1]; %main matrix
I want a code that can extract two matrices, one with 1's elements and anything else is zero and the second matrix with 2's elements and anything else is zero. So, I want to get them as following:
a1=[0 0 1; 1 0 1; 0 0 1] % sub matrix with 1's elements only
a2=[2 0 0; 0 2 0; 2 2 0] % sub matrix with 2's elements only
Can anyone helps?

Respuesta aceptada

Guillaume
Guillaume el 7 de Jun. de 2017
a1 = zeros(size(A));
a1(A == 1) = A(A == 1);
Do the same for a2 obviously replacing the A == 1 by A == 2.
  2 comentarios
Guillaume
Guillaume el 7 de Jun. de 2017
Editada: Guillaume el 7 de Jun. de 2017
Just realised that it could be even simpler:
a1 = zeros(size(A));
a1(A == 1) = 1; %a2(A == 2) = 2;

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by