2012-04-05 4 views
1

A, B 및 C의 관점에서 방정식 Ax+Bsin(x)=C의 초기 추측을 어떻게 결정할 수 있습니까? 나는 Newton Raphson을 사용하여 그것을 해결하려고 노력 중이다. A, B 및 C는 런타임 중에 제공됩니다.뉴턴 Raphson에 대한 최초 추측

이 목적으로 Newton Raphson보다 효율적인 다른 방법이 있습니까?

+1

이것이 http://math.stackexchange.com/?as=1에 있어야한다고 생각합니다. – marspzb

답변

3

최적의 초기 추측은 루트 자체이므로 "최적"추측을 찾는 것은 실제로 유효하지 않습니다.

모든 추측은 당신 만의 정수 k에 대한 k*pi + pi/2 있습니다 cos(x)의 제로에서 발생하는 모든 단계에 대한 올바른 해결책 결국만큼 f'(x0) != 0을 줄 것이다.

나는 그것이 작동하는지 확인하기 위해 x0 = C * pi을 시도 할 것입니다.

그러나 가장 큰 문제는 함수의주기적인 특성입니다. 뉴턴의 방법은 sin(x)x0을 계속해서 앞뒤로 움직이게 할 것이기 때문에 당신의 기능에 대해 느릴 것입니다.


주의 사항 : 당신이 f'(xn)가 분모에 얼마나 뉴턴의 방법에서

, 알 수 있습니까? f'(x)은 무한히 많은 횟수로 0에 접근합니다. f'(x) = 0.0001 (또는 0에 가까운 곳에서 일어날 가능성이있는 경우) xn+1xn에서 실제로 멀리 던져집니다.

심지어는 f'(x)이 주기적으로 작동하기 때문에 반복적으로 발생할 수 있습니다. 이는 뉴턴의 방법이 임의의 x0에 대해 수렴조차되지 않을 수도 있음을 의미합니다.

+0

내가 해결하려고하는 문제는 http://www.spoj.pl/problems/TRIGALGE/입니다. 이제 저는 Newton Raphson의 접근법에 관한 문제를 봅니다. 보통이 분열은 TLE (시간 제한 초과)를 제공합니다. 이제 저는 Newton Raphson 's와 Bisection을 혼합 할 생각입니다. 더 좋은 접근 방법이 있습니까? –

+0

저는 먼저 Newton의 방법에 대한 괜찮은 추측을 찾은 다음 더 정확한 근사를 위해 Newton의 방법을 사용하기 위해 몇 번의 반복을 위해 Bisection을 시도 할 것입니다. – Blender

+0

* any * 추측이 유효한 해결책을 제시한다는 진술은 정확하지 않습니다. [here] (http://en.wikipedia.org/wiki/Newton%27s_method#Failure_of_the_method_to_converge_to_the_root)를 참조하십시오. 'f '(x)'가 무한히 많은 시간에 접근한다는 것은'A'의 값에 전적으로 의존한다. ('B = 0'의 경우에는 분명히주기적인 성분이 없다.). 무한히 많은 해결책이있을 수 있고, 각각의 유용성이 OP에 의해 표시되지 않기 때문에, 전체 질문은 잘못되었습니다. 그냥 말해. –

1

간단한 "좋은"근사 그냥 죄를 가정하는 것입니다 (x)는 거의 0이기 때문에 설정 :

x0 = C/A 
0

음, A, B 및 C는 실제 0 다른 경우, 다음 (B+C)/A은 최상위 루트에 대한 상위 인용이고 (C-B)/A은 가장 낮은 루트에 대한 하위 인용입니다 (-1 <= sin(x) <= 1). 당신은 그것들로 시작할 수 있습니다.

0

뉴턴 방법은 모든 추측과 함께 작동 할 수 있습니다. 문제가 간단하면 방정식이 있다면 x0 = 100 이고 x0 = 2가 가장 가까운 해결책은 이고 대답은 2.34 * 입니다. 결과적으로 얻을 수있는 추측을 사용하면됩니다. 2.34 * 메서드는 올바른 추측 없이는 아무도 편안하지 않은 많은 솔루션을 취하지 않기 때문에 추측을 선택한다고 말합니다. 아무도 메서드를 반복하지 않아도됩니다. 그냥 중요한 포인트를 찾을 수 있습니다. - 예를 들어, 3은 너무 크고 2는 너무 작아서 입니다. 따라서 응답은 2와 3 사이입니다. 그러나 2를 추측하면 50 은 여전히 ​​올바른 해결책을 얻게됩니다.난 그냥 당신에게 나 자신에 의해 방법을 테스트 더 이상 를 취할 것이라고 말했다처럼 대답은 4, 5 사이였다 내가 임의의 방정식 1000 짐작하고 나는 추측이 4 알고 있었다 나는 그것이 나를 데려 1,000 선택 많은 시간 하지만 몇 시간 후에 1000에서 4로 무언가가 떨어졌습니다. 어떻게 든 중요한 점을 찾을 수 없다면 실제로 임의의 숫자를 x0과 같게하고 결국에는 올바른 해결책을 얻을 수 있습니다 당신이 짐작했던 숫자에 상관없이.

+0

답을 더 자세하게 기입하십시오. 당신의 생각을 따라하기가 정말로 어렵습니다. –

관련 문제