Replacing numbers in a row
Mostrar comentarios más antiguos
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 comentarios
Guillaume
el 17 de Abr. de 2018
Looks like you're still replacing the first 3. Is that correct?
James Tursa
el 17 de Abr. de 2018
So, can you tell us the explicit rule(s) for the replacement instead of us having to guess at it?
Bosong Lin
el 17 de Abr. de 2018
I guess you are looking for a pattern like in A, '0 3 0', you would like to replace this '3' by '0' also.
John Doe
el 18 de Abr. de 2018
Guillaume
el 18 de Abr. de 2018
So is it just the 3 that stand alone that are not to be replaced, or any number that stand alone?
John Doe
el 18 de Abr. de 2018
Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 18 de Abr. de 2018
A( strfind(A, [0 3 0]) + 1) = 0;
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!