apply if else condition on 3d array
Afficher commentaires plus anciens
Hi,
I want to use a simple if else statement to for three matrices A, B, and C of equal dimenstion (11x12x32). Matrix C=zeros(11,12,32) I'm trying to get the following result: If an elements value in matrix A=0 then the respective element in C should be copied from the respective element in matrix B. If not the elemement in matrix C should remain 0.
I tried wo work with the following code. Yet it doesn't work: C=zeros(11,12,32);
if A==0 C=B; else C=0; end
Any advice? Thank you so much in advance.
Réponses (2)
Mischa Kim
le 14 Mar 2014
Modifié(e) : Mischa Kim
le 14 Mar 2014
Christoph, use
C = bsxfun(@times,B,A==0)
Andrei Bobrov
le 14 Mar 2014
l = A == 0;
C(t) = B(t);
Catégories
En savoir plus sur Mathematics dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!