Filter löschen
Filter löschen

Comparing my array to two variables

3 Ansichten (letzte 30 Tage)
Matlabhelp
Matlabhelp am 29 Sep. 2016
Kommentiert: Image Analyst am 25 Aug. 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 Kommentar
Image Analyst
Image Analyst am 25 Aug. 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 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 Kommentare
Matlabhelp
Matlabhelp am 29 Sep. 2016
Thank you for you help :)
Stephen23
Stephen23 am 29 Sep. 2016
Bearbeitet: Stephen23 am 29 Sep. 2016
Note that this answer does not mention the simplest solution. See my answer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephen23
Stephen23 am 29 Sep. 2016
Bearbeitet: Stephen23 am 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

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by