2011-04-06 5 views
2

, 우리는 방정식은 두 가지 뿌리 D > 0, 하나 개의 반복 루트 D = 0, 또는 진짜 뿌리 D < 0있을 것이다 경우 판별 D = b^2 - 4ac이 우리에게 있음을 알고있다. 분명히, 판별자가 0이면 오류가 더 큰 위치에 따라 오류가 양수 또는 음수가 될 수 있습니다. 판별자가 0이 아니면 부동 소수점 계산에 오류가 없으면 (즉, 양수에서 음수로 또는 음수에서 양수로) 부호를 반올림 할 수 없음을 입증하십시오. 오류로 인해 판별자가 0이 될 수 있습니까?부동 소수점 연산 에러 경계

실제 프로그래밍과는 거의 관계가 없지만 정확히 어떻게 floating point calculation error of the discriminant에 대해 긍정적 인 discriminant D가 음수가되거나 그 반대가되는 것은 불가능하다는 것을 보여줍니다.

+2

소리가 숙제입니까? –

+1

나는 프로그래밍과 관련이 있다고 말할 수 있습니다. 부동 소수점 표현으로 얻을 수있는 가능한 오류에 관한 것이기 때문입니다. –

+0

글쎄, 나는 코딩 에서처럼 실제 프로그래밍을 말했다. 이것은 숙제가 아닙니다. 우리가 도움을받지 않고는 결코 할 수없는 진보 된 질문을함으로써 우리를 고통스럽게 만드는 proffesor의 방법보다 더 비슷합니다. – lalalala

답변

0

결정자가 양수인지 음수인지 확인하는 것은 실제로 b^24ac보다 큰지 또는 작은 지 확인 중입니다.

두 경우 모두 두 개의 숫자를 곱하면 오류가 (비슷한) 것입니까? 그것이 당신이 찾는 추론의 종류 인 것 같습니다.

그러나 예를 들어 사용자의 숫자는 수레가와 "오류"가 실제로 단지 정수를 사용하는 경우, 다음은 기호 변경 할 수 있으며, 극단적 인 경우를 복용 :

A = 2, B = 2 , C = 2/3

행렬식이다 : D = 2^2-4 * 2 * 2/3 = -1.333

, 그것은 0으로 C 라운딩하고, 행렬식이되는 오류 촬영 : D = 2^2 - 0 = 4

너무 극단적 인 경우 모든 계수를 나눌 수 있습니다. 개미, 그것은 여전히 ​​같은 방정식과 작은 오류, 같은 결과를 얻을해야 ...

어쩌면 답이 팀은 설명 무엇이다

더 많이 ... 취소하는 경우가있다 숫자는 서로 매우 다르며 훨씬 작은 숫자는 무시됩니다. 차이의 변화를 바꿀 수는 없습니다.

예를 들어 abs(b^2)abs(4ac)보다 훨씬 큰 경우 행렬식은 abs(b^2) ...의 부호가되며 반대의 경우도 마찬가지입니다.

+0

그 극단적 인 경우에 u가 긍정적 인 판별에 부정적인 영향을 미칠 수 있다는 것을 보여줍니다. 따라서 와트가 발생하지 않는 이유가 될 것입니다. – lalalala

+0

Wat 의미하는 것은 어떻게 가능합니까? 왜냐하면 그 와트는 질문을 말하고 있기 때문입니다. 정말로 혼란스러운 – lalalala

+0

글쎄, 나는 단지 질문이 잘못되었다고 말하고있다 ... 그리고 나는 당신에게 그것이 일어날 수있는 모범을 보여 준다. ... – Matthieu

2
  1. 이 서술문은 쓰여진대로 사실이 아닙니다. 이진 부동 소수점 산술의 속성에 따라 다르며 계산이 다른 기수 (예 : IEEE-754 십진 부동 소수점을 포함하지 않음)로 수행 된 경우에는 반드시 보유하지 않습니다. 이것은 분명히 극단적 인 경우이며, 학부 과정에서 논의 될 것으로 기대되는 것은 아닙니다. 그러나 힌트이기도합니다. 나는 그것을 왜 당신에게 지적하고 있습니까?
  2. 치명적 취소는 영향을주지 않습니다.
  3. 증명은 이진 부동 소수점 산술의 기본 속성에서 거의 즉시 따라옵니다.

분명히 숙제이기 때문에 그게 전부입니다.당신이 증명에 당신의 시도를 게시하고 싶다면, 제안을 기꺼이 드리 겠지만, 나는 당신을 위해서만 당신의 일을하지 않을 것입니다.

마지막으로, 숙달되지 않은 숙제에 직면하는 데 익숙해 져야합니다. 특히 이론적 인 CS 또는 수학 과목에서 특히 그렇습니다. 당신이 이미 그것을하는 방법을 알고 있다면, 당신은 아무것도 배우지 않을 것이고, 그 점은 무엇이겠습니까?

편집 : Eric Postpischil은 2 진 산술에서도 특정 가장자리의 경우에도이 문이 거짓임을 수정합니다.

2

discriminant를 평가할 때 0이 아닌 결과가 나오면 수학적으로 정확한 discriminant가 true가 아닌 것과 같은 부호를 갖습니다. 이것이 숙제 문제이기 때문에, 힌트를 제외하면 지금은 더 이상 말하지 않을 것입니다. 최종 결과가 부동 소수점 숫자 범위를 벗어나지 않더라도 언더 플로우 또는 오버플로가 발생할 수 있음을 고려하십시오.