2012-07-26 8 views
4

무시, 나는 옵션 JacobPattern를 통해 사용자 정의 Jacboian 패턴을 설정하려고 시도하고있다. trust-region-reflective 알고리즘을 사용하도록 설정하고 output (lsqnonlin)은 이것이 실제로 솔버에서 사용 된 알고리즘임을 나타냅니다 (JacobPattern 옵션 사용에 필요함).사용자는 내가 MATLAB의 <a href="http://www.mathworks.co.uk/help/toolbox/optim/ug/lsqnonlin.html" rel="nofollow"><code>lsqnonlin</code></a> 기능을 사용하고

JacobPattern이 너무 희박한 경우 (예 : 500x500 자코비언에서 몇 줄의 행이 너무 작음) 솔버가 무시하고 전체 자 코비안을 계산 중입니다.

이 동작은 설명되어 있지 않습니다. 누구든지 그것에 더 많은 빛을 흘릴 수 있습니까? 솔버가 얼마나 어리석은 것인지, 그라데이션이 얼마나 얕은 지 상관없이 솔버가 내 JacobPattern을 사용하도록 강제 할 수 있기를 바랍니다.


업데이트 :

좀 더 실험을 수행 한 모든 제로 행이 어떤 코비안 패턴이있는 경우는 코비안은 다시 계산되어 표시됩니다. 각 행에 적어도 하나의 '1'이있는 한, 모든 제로 열의 수에는 제한이 없습니다. 이것이 문제를 피하는 데 도움이 되긴하지만 문제는 여전히 남아 있습니다. 해를 구하면 각 종속 변수에 연관된 그래디언트가 있어야합니까? 어떤 경우에, 나는

+0

matlab에서 재 계산하려고하기 전에 매트릭스가 얼마나 희박합니까? – Isaac

+0

그래, 문제가 귀하의 질문에 대한 문제를 좀 더 밝혀 주셔서 감사합니다 - 나는 그에 따라 위의 질문을 업데이 트합니다. –

+0

전체 함수 호출을 제공 할 수 있습니까? –

답변

0

내 생각은 ... 경고의 이상에 합당하기 위해 사용자 정의 옵션의 무시를 기대하는 다음

당신이 실제로 무엇을 코비안을 살펴 경우 즉, 모든 0 행은 해당 함수 (정의 된 벡터 함수의 일부)가 모든 변수와 독립적이라는 것을 의미합니다. 따라서 최적화에 추가하는 것은 완전히 무의미합니다.

잘못 의도적으로 자코 비안 알고리즘을 알고리즘 에 전달하는 이유는 무엇입니까?

관련 문제