주어진 tempMaxAngle보다 작은 90 그림의 제수를 찾는 함수를 작성하려고합니다. 예를 들어, 내 함수는 tempMaxAngle = 7의 경우 6을 반환하고 tempMaxAngle = 31의 경우 30, tempMaxAngle = 23의 경우 22.5 등을 반환해야합니다. 불행히도 올바르게 작동하지 않습니다. 이상한 값을 얻고 있습니다. tempMaxAngle = 7 (동안 섹션 결과)에 대한matlab은 모듈로 함수에 대해 잘못된 결과를 나타냅니다.
function maxAngle = angletest(tempMaxAngle)
format long g;
tempMaxAngle = tempMaxAngle*10;
tempMaxAngle = floor(tempMaxAngle)/10;
while mod(90,tempMaxAngle)>0
modResult =mod(90,tempMaxAngle)
tempMaxAngle = tempMaxAngle - 0.1
end
maxAngle=tempMaxAngle;
end
부분 결과 : 여기 내 algorythm입니다
tempMaxAngle =
6.9
modResult =
0.299999999999995
tempMaxAngle =
6.8
modResult =
1.59999999999999
tempMaxAngle =
6.7
modResult =
2.89999999999998
tempMaxAngle =
6.6
modResult =
4.19999999999998
tempMaxAngle =
6.5
modResult =
5.49999999999998
tempMaxAngle =
6.4
modResult =
0.399999999999966
tempMaxAngle =
6.3
modResult =
1.79999999999996
tempMaxAngle =
6.2
modResult =
3.19999999999997
tempMaxAngle =
6.1
modResult =
4.59999999999996
tempMaxAngle =
6
modResult =
5.99999999999995
tempMaxAngle =
5.9
modResult =
1.49999999999994
tempMaxAngle =
5.8
modResult =
2.99999999999993
tempMaxAngle =
5.7
modResult =
4.49999999999993
tempMaxAngle =
5.60000000000001
modResult =
0.399999999999929
간단 6.9, 6.8, 6.7 등 대신 값의 종류를 returing 유지하는 이유 모듈로 함수와 유사합니까? 어떻게 해결할 수 있습니까?
살펴 왜 당신이'모드 (90,7)을 수행하지 않는'직접? – Oleg
왜냐하면 나는 다른 값을 위해서 사용하고자하는 함수이기 때문입니다. – Arxas
이제 질문을 읽어야합니다 : find is 'x ≤ tempAngle'은 90을 균등하게 나눕니다. – Oleg