How to limit a vector to a certain maximum

24 views (last 30 days)
Phil
Phil on 29 Nov 2012
Commented: Bill Tubbs on 6 May 2021
I have the vector x = [20 19 23 24 17] and I want to somehow create a vector that contains nothing greater than 20. That is, I need a vector that returns y = [20 19 20 20 17] from the original vector. The methods I have tried only return some sort of a boolean type vector that tells me which values are greater than 20. Can anyone help me?

Answers (1)

Image Analyst
Image Analyst on 29 Nov 2012
xMax = 20;
x = [20 19 23 24 17]
% Clip to xMax
x(x>xMax) = xMax
  5 Comments
James Pieris
James Pieris on 5 Sep 2020
Hi, do you think you can reference the matlab feature x (x> xmax) from which you derived this technique? I am just interested to know where this defined/listed in matlab documentation. Thanks a lot. it works.
Image Analyst
Image Analyst on 6 Sep 2020
Do a search in the help for "logical indexing".

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!