MATLAB Answers

floor 함수관련 질문을 드립니다.

24 views (last 30 days)
Kibong Kang
Kibong Kang on 16 Oct 2019
Commented: Kibong Kang on 18 Oct 2019
안녕하세요.
저는 MATLAB 2019b 버전을 사용하고 있습니다.
아래 code를 실행하였을 때, 최종적인 답이 0이 나옵니다.
LB = -0.1536;
Increment = 0.0048;
floor((LB+Increment-LB)/Increment)
제 생각에는 code의 마지막 줄은
floor(Increment/Increment)
와 동일하기 때문에 최종적으로 답이 1 이 나오는게 맞다고 생각하는데,
이상하게도 0이 나옵니다.
아래 그림은 제 PC에서 돌렸을 때의 화면을 캡쳐한 것입니다.
1.PNG
왜 이런 현상이 발생하는지 문의 드리고자 합니다.

  0 Comments

Sign in to comment.

Accepted Answer

Mink-Kyu Baek
Mink-Kyu Baek on 16 Oct 2019
"Y = floor(X)X의 각 요소를 해당 요소보다 작거나 같은 가장 가까운 정수로 내림합니다."
질문하신 (LB+Increment-LB)/Increment의 계산값은 매트랩 내부적으로 1에 음의 방향으로 아주 가까운 수로 인식하는 것 같습니다.
예를 들어서
floor(round(LB+Increment-LB,4)/Increment)
하여 4번째 자리에서 반올림을 해주게 되면 1값이 나옵니다.
도움이 되셨으면 좋겠네요.

  1 Comment

Kibong Kang
Kibong Kang on 18 Oct 2019
답변 올려주셔서 감사합니다. ^^
좋은 하루 되세요!

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags

Products


Release

R2019b