f (x) = sqrt (1 + x) - sqrt (1-x)와 같은 함수에 대해 특정 x 값 범위에 대해 원하지 않는 결과를 얻습니다. 그러나 어떤 경우에는 원래 방정식을 사용하고 다른 방정식에서는 새로운 방정식을 사용하도록 방정식을 다시 작성할 수 있습니다.부동 소수점 산술 불안정성
x 값의 범위를 알아 내고 이러한 질문에 대한 대체 표현식을 찾는 방법은 무엇입니까? (온라인 조사에서 우리는 함수가 특정 값에 대해 본질적으로 "취소"하는 것을 원하지 않는다는 것을 알았지 만, 우리가 찾고있는 것이 전부인가? 예를 들어 f (x) = e^x - 1에서 우리는
이 질문은 서면으로 너무 광범위합니다. 당신은 더 구체적 일 수 있습니까? –
f (x) = sqrt (1 + x) - sqrt (1-x)는 부동 소수점 산술을 사용하여 계산할 때 불량한 결과를 나타내는 x 값의 범위를 제공 할 수 있습니까? "취소 오류"가 발생하지 않도록 이러한 x 값에 대해 f (x)에 대한 대체 표현식을 제공하십시오. – Brainpower2049
@ Brainpower2049 : 작은'x'는 문제가 있습니다. 예를 들어'f (1e-16)'은'1.1102230246251565e-16'을주고, f (1e-17)는'0.0'을 준다. 수학적으로는 같지만 수치 적으로 같지 않은 표현식은'2 * x/(sqrt (1 + x) + sqrt (1-x))'입니다. 이것은 전체 도메인'[-1.0, 1.0]'에서 좋은 결과를 제공합니다. –