2012-11-11 5 views
3
for ii = 1:2:2*de.nP    
     G=[one, aux3(:,ii), aux3(:,ii) - aux2(:,ii),aux3(:,ii+1) - aux2(:,ii+1)]; 

     try 
     betasPu(:,(ii+1)/2) =G\yM; 
     catch ME 
     betasPu(:,(ii+1)/2)=[Inf,Inf,Inf,Inf]; 
     end 
end 

위의 코드를 사용하여 G를 G \ yM에서 사용할 때 인스턴스를 잡으려고합니다. 나쁘게 조건부/단수이다.Matlab try/catch

나는 위의 코드를 사용했지만, 현재 상황이 좋지 않은 조건부/단수의 행렬이 여러 개 생성되었지만 캐치가 트리거되지 않는 것 같습니다.

답변

4

나는 조건부 계산이 오류를 일으키지 않는다고 경고하며, 경고 만한다고 생각하십니까? 경고가 잡힌되지 않습니다 AFAIK ..

그러나 일부 circumventions 있습니다

  • 당신은 경고를 감지하는 lastwarn를 확인할 수 있습니다.
  • here과 같이 오류가 발생하도록 경고를 수정할 수 있습니다.