Matlab中是否存在与isinf(x)配套的finite(x)函数?类似real与isreal
在Matlab中与
isinf(x)配套的类似real(x)/isreal(x)的实现方式 Matlab中没有直接提供和isinf(x)完全对应、像real(x)对应isreal(x)那样的单一提取函数,但可以通过isfinite(x)配合逻辑索引实现你想要的“提取数组中有限值”的效果:
示例代码
x = [0, 1, 345, inf]; a = isreal(x); b = real(x); % 结果为 [0, 1, 345, inf] c = isinf(x); % 提取有限值的实现 d = x(isfinite(x)); % 结果为 [0, 1, 345]
关键说明
isfinite(x)会返回一个与x同维度的逻辑数组,其中元素为true表示对应位置的元素是有限值(既不是inf/-inf,也不是NaN)- 通过
x(isfinite(x))可以直接筛选出原数组中所有的有限值,达到你示例中finite(x)的预期效果
内容的提问来源于stack exchange,提问作者user2587726
相关产品推荐
相关产品推荐

