Comparing my array to two variables

1 visualización (últimos 30 días)
Matlabhelp
Matlabhelp el 29 de Sept. de 2016
Comentada: Image Analyst el 25 de Ag. de 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 comentario
Image Analyst
Image Analyst el 25 de Ag. de 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?

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 29 de Sept. de 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 comentarios
Matlabhelp
Matlabhelp el 29 de Sept. de 2016
Thank you for you help :)
Stephen23
Stephen23 el 29 de Sept. de 2016
Editada: Stephen23 el 29 de Sept. de 2016
Note that this answer does not mention the simplest solution. See my answer.

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23
Stephen23 el 29 de Sept. de 2016
Editada: Stephen23 el 29 de Sept. de 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

Categorías

Más información sobre Multidimensional Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by