我如何将inf和-inf区分开来?
我有包含inf和-inf的矩阵,我想分别用1e6和-1e6替换它们。
例如,
a = [1 2 3 0 3 4]./[1 1 1 0 1 0];
b = log2([0 2 1 2 1 2]);
c = cat(1,a,b);也就是说,
c = [ 1 2 3 NaN 3 Inf;
-Inf 1 0 1 0 1];我想要,
newc = [ 1 2 3 NaN 3 1e6;
-1e6 1 0 1 0 1];我找不到一个把他们分开的函数。
谢谢。
发布于 2014-11-17 20:46:24
您可以使用inf检测isinf(),也可以使用sign()检测符号。将两者结合起来:
newc = c;
inf_filter = isinf(newc);
newc(inf_filter) = 1e6 * sign(newc(inf_filter));https://stackoverflow.com/questions/26981597
复制相似问题