Selecting from a range of values from a column matrix

1 view (last 30 days)
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.

Accepted Answer

Walter Roberson
Walter Roberson on 7 Oct 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 Comment
Austin Ukpebor
Austin Ukpebor on 7 Oct 2021
It works! Apart from array indexing, what other areas would you recommend I read up?
Thank you.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!