当MATLAB中的运算结果中Inf时,如果将它识别出来呢?看下面的例子:
函数:isinf()
功能:识别矩阵或者向量中的元素是不是含有 Inf
例1:
>> feat = [1 2 3 inf 4 5]
feat =
1 2 3 Inf 4 5
>> inf_ind = isinf(feat)
inf_ind =
0 0 0 1 0 0
例1:
假设我们己经有三个相同维数的列向量:V1t,V2t,V3t。看下面代码:
Vt=[V1t';V2t';V3t'];
V=(1/n)*(Vt*Vt');invV=inv(V);
if sum(isinf(invV))>0
Err_str=['Result inv(V) is Inf. Re try(',num2str(j),')!!'];
disp(Err_str);
continue;
end
上面的程序段表示如果运算中出现了Inf,则取消本次运算结果.