How to replace certain numbers in an array

Could anybody help me solve the problem please? I have a sample array a=[6 8 7 4 12 10 16 11], I would like to replace all numbers greater than 10(>10) to be 20-a, the expected result should be a=[6 8 7 4 8 10 4 9]. Thank you very much.

 Respuesta aceptada

Image Analyst
Image Analyst el 2 de En. de 2018
Try this:
a=[6 8 7 4 12 10 16 11]
% Find indexes more than 10:
indexesToReplace = a > 10;
% Replace the index values with 20 minus the original number (20-a)?
a(indexesToReplace) = 20 - a(indexesToReplace)

Más respuestas (1)

KSSV
KSSV el 2 de En. de 2018
Editada: KSSV el 2 de En. de 2018
a=[6 8 7 4 12 10 16 11] ;
a(a>10) = 20-a(a>10) ;

2 comentarios

MS SIM
MS SIM el 2 de En. de 2018
Thanks for the answer. However, this replaces the number greater than 10 with 20. How about replacing the number with 20 minus the original number (20-a)?
KSSV
KSSV el 2 de En. de 2018
Editada: KSSV el 2 de En. de 2018
okay....a was the original number.....edited the answer.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 2 de En. de 2018

Editada:

el 2 de En. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by