How to take a value between two values
조회 수: 17 (최근 30일)
이전 댓글 표시
hello, please help me.
i couldn't use "if" statement to take 'r' value. The 'r' value depends on 'd' value. but i don't know how to make the code for this.
lets take an example. when i input 'd' value as 15, the 'r' value that i got is 1.6 instead of 1.8. what should i do?
댓글 수: 0
채택된 답변
kintali narendra
2023년 9월 15일
make small changes in the if statement. The code given below is the right way to use if.
if (10.2 <= d) && (d < 13)
r = 1.6
elseif (13.5 <= d) && (d < 20.0)
r = 1.8
elseif (20.0 <= d) && (d < 22.4)
r = 2.0
end
댓글 수: 5
Stephen23
2023년 9월 15일
"how is the way to identify the property of a variable to know it is a scalar or not?"
isscalar(d)
추가 답변 (2개)
Steven Lord
2023년 9월 15일
If you hover over the underlined <= operators in the code in the MATLAB Editor, you will see a Code Analyzer message explaining why that code doesn't do what you think it does and suggest how you can modify the code to do what you likely want to do.
Alternately, you could use the discretize function to discretize your data without a (potentially lengthy) if / elseif / elseif / elseif ... / end statement.
댓글 수: 2
Dyuman Joshi
2023년 9월 27일
@Stephen23 like this -
d = randi([5 25],1,8)
X = [10.2,13,13.5,20,22.4];
Y = [1.6,1.8,2,Inf];
out = discretize(d,X,Y)
Stephen23
2023년 9월 15일
d = [11,15,21];
X = [10.2,13.5,20,22.4];
Y = [1.6,1.8,2,Inf];
Z = interp1(X,Y,d, 'previous')
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!