2012-11-21 2 views
0

다양한 인스턴스에서 많은 수의 NMinimize 명령을 실행해야합니다. 이 중 일부는 수렴하지 못했습니다.계산을 두 번 실행하지 않고도 Mathematica에서 예외를 잡습니다.

중 어느 것이 수렴에 실패했는지 확인하고 싶습니다. Mathematica에서 찾은 현재 해결 방법을 얻으려고합니다.

다른 게시물에 대한 검색은 Check[]을 사용하여 제안했지만 오류가 발생하면 결과를 반환하지 않습니다.

그래서 현재, 나는 다음과 같이 비효율적 인 구현을 가지고 :
allfit1 = ConstantArray[0,16]; 
For[i = 1, i <= 16, i++, (
allfit1[[i]] = Check[ 
        {0, NMinimize[f[x,data[[i]]], x]}, 
        {1, NMinimize[f[x,data[[i]]], x]} 
        ] 
)] 

당신은 내가 낭비하고 시간이 소요되는, 두 번 NMinimize을 실행하는 데시피

.

더 좋은 방법이 있습니까? 작은 변화로

+3

당신은 아마 http://mathematica.stackexchange.com 더 나은 답변을 얻을 수 있습니다 할 수있는 : 당신이 변수에 결과를 저장할 수 /. – kennytm

답변

0

:

Block[{res}, 
     Check[{0, res = NMinimize[...]}, {1, res}] 
] 
+0

이것은 효과가 있습니다. 신속한 답변을 해주셔서 대단히 감사합니다. – user1842777

관련 문제