Effacer les filtres
Effacer les filtres

Replacing numbers in a row

1 vue (au cours des 30 derniers jours)
John Doe
John Doe le 17 Avr 2018
Commenté : John Doe le 19 Avr 2018
Dear all,
I have a question, I want to try to replace values in a row that are greater than zero. For example, I have the array A that is:
A = [ 0 0 3 5 6 4 0 0 0 3 0 0 3 2 0].
What I want is to replace all values greater than 0 by 1.I know I can use A(A>0)=1 but I don't want to replace the individual 3 by 1 instead I want it to be zero.
I want my result to be:
A = [ 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0]....instead of A = [ 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0].
Is there any way I can do this and specify what individual number I don't want to replace by 1??
Thank You!!
  6 commentaires
Guillaume
Guillaume le 18 Avr 2018
So is it just the 3 that stand alone that are not to be replaced, or any number that stand alone?
John Doe
John Doe le 18 Avr 2018
Just the 3 that stands alone

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 18 Avr 2018
Modifié(e) : Matt J le 18 Avr 2018

Just the 3 that stands alone

result = strrep(A,[0,3,0],[0,0,0])>0;
  1 commentaire
John Doe
John Doe le 19 Avr 2018
Thank you!!

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 18 Avr 2018
A( strfind(A, [0 3 0]) + 1) = 0;

Community Treasure Hunt

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

Start Hunting!

Translated by