Comparing my array to two variables

조회 수: 1 (최근 30일)
Matlabhelp
Matlabhelp 2016년 9월 29일
댓글: Image Analyst 2020년 8월 25일
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
Image Analyst
Image Analyst 2020년 8월 25일
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?

댓글을 달려면 로그인하십시오.

채택된 답변

KSSV
KSSV 2016년 9월 29일
% 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
Matlabhelp
Matlabhelp 2016년 9월 29일
Thank you for you help :)
Stephen23
Stephen23 2016년 9월 29일
편집: Stephen23 2016년 9월 29일
Note that this answer does not mention the simplest solution. See my answer.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2016년 9월 29일
편집: Stephen23 2016년 9월 29일
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

카테고리

Help CenterFile Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by