Subtract elements greater than a threshold?

7 visualizaciones (últimos 30 días)
Eric Beamesderfer
Eric Beamesderfer el 23 de En. de 2020
Comentada: Eric Beamesderfer el 23 de En. de 2020
I have a 2048x10000 double precision dataset. Most values range from 0 to ~5000, but there are scattered values exceeding 1,000,000. After reading the manual for the instrument, I found that for numbers greater than 524287 (2^19 - 1) you're supposed to substract 1048576 (2^20). I had thought to index the data (ind = (test > 524287)) and then subtract the values from those indexed elements but have been unable to make it happen, often receiving the error: "Unable to perform assignment because the left and right sides have a different number of elements."

Respuesta aceptada

Walter Roberson
Walter Roberson el 23 de En. de 2020
mask = YourArray > 2^19 - 1;
YourArray(mask) = YourArray(mask) - 2^20;

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by