Replace non-zero elements in array with output of a calculation on them
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
dan berkowitz
el 16 de En. de 2019
Comentada: Pedapudi Bharath Raja Bhoopal
el 11 de Oct. de 2020
Hi,
I have an array, A = [2 3 0 7 0 0 9].
How can I replace the non-zero elements of A with thier original value minus one?
I want to generate B = [ 1 2 0 6 0 0 8]
Any help would be appreciated! Thanks,
DB
0 comentarios
Respuesta aceptada
Walter Roberson
el 16 de En. de 2019
mask = A~=0;
A(mask) = A(mask) - 1;
You can code it as a single expression, but that risks evaluating the comparison twice:
A(A~=0) = A(A~=0) - 1;
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Language Fundamentals en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!