A,B,C same size matrixes. A & C are double elements, B is with logical elements.How do I simply set A with values found in C only for true (or false) positions in B?

1 visualización (últimos 30 días)
Setup:
if true
A = zeros(4,4);
C = [1,2,3,0; 5,0,6,4; 9,7,0,4; 2,0,5,6];
B = false(4,4); B(2,4) = 1; B(3,2) = 1; B(1,1) = 1;
end
How do I easily set A to copy values from C only for elements in B that are false (or true)? End result (for filtering by false value) should be: A = [0,2,3,0; 5,0,6,0; 9,0,0,4; 2,0,5,6]; Basically, we copied elements from C where B position was false/zero.
Thx

Respuesta aceptada

Jan
Jan el 24 de Ag. de 2017
A = zero(size(C));
A(~B) = C(~B)

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by