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 vue (au cours des 30 derniers jours)
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

Réponse acceptée

Jan
Jan le 24 Août 2017
A = zero(size(C));
A(~B) = C(~B)

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by