Matlab尝试/捕获

时间:2012-11-11 23:01:43

标签: matlab

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 \ yM中使用G时捕获实例;是条件恶劣/单数。

我已经使用了上面的代码,但是现在尽管产生了几个严格条件/奇异矩阵,但捕获似乎并没有触发。

1 个答案:

答案 0 :(得分:4)

我认为严格的条件计算不会导致错误,只会发出警告? afaik警告没有被抓住..

然而,有一些规避:

  • 您可以查看lastwarn以检测警告。
  • 您可以修改警告以生成错误,如here所述。