How to restrict the range ?
45 views (last 30 days)
Show older comments
Susan Arnold
on 3 Mar 2016
Commented: Nishantha Randunu
on 3 Mar 2021
I want to restrict the output of the arc cosine to be in the range [-1,1], but I want to know if there is built-in Matlab function for this task and if it is possible for example merge @max & @min simultaneoulsy in the function bsxfun to achieve this task.
0 Comments
Accepted Answer
Jos (10584)
on 3 Mar 2016
I do not see why you need bsxfun for this. If X is your signal, this statement restricts X between -1 and 1
X = [0.5 1 2 -2 -1 -0.5 0]
OUT = min(max(X,-1),1)
You can create an (anonymous) function for this, if you need it a lot.
minmax = @(x,a,b) max(min(x,a),b) % restricts input X between a and b
1 Comment
Nishantha Randunu
on 3 Mar 2021
anoymous function should be
minmax = @(x,a,b) min(max(x,a),b) % restricts input X between a and b
More Answers (1)
Walter Roberson
on 3 Mar 2016
min(max(x, -1), 1)
2 Comments
Jos (10584)
on 4 Mar 2016
Simply replace -1 and 1 by the minimum and maximum of B
... max(A,min(B(:))) ...
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!