Azzera filtri
Azzera filtri

Selecting from a range of values from a column matrix

4 visualizzazioni (ultimi 30 giorni)
I have a column matrix (398404 x1). I want any values less than 42 between rows 290360 and 380876 to be 5 while values outside those rows remain the same. Please I need help. Thank you.

Risposta accettata

Walter Roberson
Walter Roberson il 7 Ott 2021
r1 = 290360; r2 = 380876;
extract = YourMatrix(r1:r2);
extract(extract < 42) = 5;
YourMatrix(r1:r2) = extract;
or...
r1 = 290360; r2 = 380876;
rowidx = (1:numel(YourMatrix)).';
mask = rowidx >= r1 & rowidx <= r2 & YourMatrix < 42;
YourMatrix(mask) = 5;
  1 Commento
Austin Ukpebor
Austin Ukpebor il 7 Ott 2021
It works! Apart from array indexing, what other areas would you recommend I read up?
Thank you.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by