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

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

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!