0

나는 이것이 쉬워야한다고 느낀다고 말하는 것으로 시작할 것입니다 ... 그러나 그것은 완전히 명백하지 않습니다. BrentOptimizer를 사용하여 함수의 로컬 최소값과 최대 값을 찾으려고합니다. 나는 이것들의 주기성에 대해 생각해 봤고, BracketFinder를 사용하여 최적의 것을 브래킷에 넣은 다음 BrentOptimizer로 보낼 수 있어야한다고 생각합니다.도움이 필요합니다. Apache Commons 수학 BracketFinder

http://commons.apache.org/math/api-2.2/org/apache/commons/math/optimization/univariate/BracketFinder.html 그래서 간단한 경우에, 고려하십시오 :

f(x) = sin(x) 

우리는 PI/2에서 최대 및 3Pi/2에서 분이 있다는 것을 알고

그녀는 문서입니다. 0에서 시작하여 함수를 따라 움직이는 경우 Pi/2에서 어떻게 그 루트를 찾으러 갈 것입니까? 그것은 정말로 생성자 인수와 초기 포인트로옵니다. 합리적인 방법으로이 매개 변수를 설정할 수있는 모범 사례가 있습니까 (함수 모양에 대해 조금 알고 있다고 가정)?

감사

답변

0

당신은 아마 지금이 문제를 정리했지만, 브라케팅 방법은 전혀 초기 점을 기대하지 않는, BracketFinder와 의도는 시작 당신이 당신의 전화에 적용해야한다고 생각 찾을 수 있습니다 BrentOptimizer. BracketFinder에 기본 생성자를 적용하는 것이 좋습니다. S 각각 getLo(), getHi()getMid() :

수신 브라켓 지점을 거친 minmax, startValueBracketFinder에서 촬영되는 추상베이스 클래스 BaseAbstractUnivariateOptimizer에 정의 된 3 점 optimize 방법을 사용한다.

BracketFinder 구현은 분명히 Numerical Recipes의 C 버전 10.1 장을 기반으로합니다. 이것은 사용 된 브라켓 팅 원리에 대한 배경 지식을 더 많이 줄 수 있습니다.