Effacer les filtres
Effacer les filtres

Comparing my array to two variables

3 vues (au cours des 30 derniers jours)
Matlabhelp
Matlabhelp le 29 Sep 2016
Commenté : Image Analyst le 25 Août 2020
Hello
I'm trying to compare my array values ( numerical ) to two variables. For example i would like any number in my array greater than 2 to be rounded to two, and any number less than 0 rounded to 0. I can't seem to find a simple expression to do this. So i would like to compare all numbers in the array to those two conditions and then round them to their respective closest number. How do i possible go about this?
  1 commentaire
Image Analyst
Image Analyst le 25 Août 2020
Original question in case he deletes is like he's done with other posts:
Hello
I'm trying to compare my array values ( numerical ) to two variables. For example i would like any number in my array greater than 2 to be rounded to two, and any number less than 0 rounded to 0. I can't seem to find a simple expression to do this. So i would like to compare all numbers in the array to those two conditions and then round them to their respective closest number. How do i possible go about this?

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 29 Sep 2016
% Generate random data between -3 and 3
a = -3;
b = 3;
r = (b-a).*rand(100,1) + a;
r(r>2) = 2 ; % Change numbers greater then 2
r(r<0) = 0 ;% Change numbers less then 0
Read about find, round, ceil, floor.
  2 commentaires
Matlabhelp
Matlabhelp le 29 Sep 2016
Thank you for you help :)
Stephen23
Stephen23 le 29 Sep 2016
Modifié(e) : Stephen23 le 29 Sep 2016
Note that this answer does not mention the simplest solution. See my answer.

Connectez-vous pour commenter.

Plus de réponses (1)

Stephen23
Stephen23 le 29 Sep 2016
Modifié(e) : Stephen23 le 29 Sep 2016
Simply use max and min, each with two arguments:
>> M = randi([-5,5],6)
M =
-5 3 5 -5 -5 -2
2 3 2 -4 -1 -1
-5 2 3 -4 0 -5
-5 -4 -1 -1 -1 5
0 2 -1 4 2 -4
-4 0 4 3 1 -4
>> min(2,max(0,M))
ans =
0 2 2 0 0 0
2 2 2 0 0 0
0 2 2 0 0 0
0 0 0 0 0 2
0 2 0 2 2 0
0 0 2 2 1 0

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by