Replace Elements in matrix in specific positions

1 vue (au cours des 30 derniers jours)
Pedro R
Pedro R le 6 Juin 2019
Commenté : Steven Lord le 6 Juin 2019
Hello, i have 3 matrixes of 15001 elements, A, B and C . What i want is that when A<=1.2 and in the same positions, -0.54<=B<=0.54, the same position D will be 0 , else inmatrix D will be = C.

Réponses (1)

goerk
goerk le 6 Juin 2019
Modifié(e) : goerk le 6 Juin 2019
mask = A<=1.2 && B>-0.54 && B<0.54;
D=zeros(size(C));
D(mask)=C(mask);
Edit:
Range adapted.
  2 commentaires
madhan ravi
madhan ravi le 6 Juin 2019
Pedro R commented:
sorry, is was -0.54.
Steven Lord
Steven Lord le 6 Juin 2019
Replace the && in your answer with &. Use && for short-circuiting when the two expressions you're trying to and together are scalars. Use & to and together two arrays element-wise.
% Sample data
A = randn(5);
B = randn(5);
% Will throw an error
mask = A<=1.2 && B>-0.54 && B<0.54;
% Will not throw an error
mask = A<=1.2 & B>-0.54 & B<0.54;

Connectez-vous pour commenter.

Catégories

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

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by