How to restrict the range ?
32 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Susan Arnold
le 3 Mar 2016
Commenté : Nishantha Randunu
le 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 commentaires
Réponse acceptée
Jos (10584)
le 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 commentaire
Nishantha Randunu
le 3 Mar 2021
anoymous function should be
minmax = @(x,a,b) min(max(x,a),b) % restricts input X between a and b
Plus de réponses (1)
Walter Roberson
le 3 Mar 2016
min(max(x, -1), 1)
2 commentaires
Jos (10584)
le 4 Mar 2016
Simply replace -1 and 1 by the minimum and maximum of B
... max(A,min(B(:))) ...
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!