How to limit a vector to a certain maximum

119 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.

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!