以下是对应于Matlab代码的armadillo/c++等效代码是什么?
A(isnan(A))=b;
A.transform( [](double val) { return (std::isnan(val) ? double(b) : val); } );
has_nan()
来查看是否存在NaN值。但是,似乎没有一个函数返回哪些是NaN的索引,因此看起来您可能需要循环,并逐个检查各个元素。find_nonfinite( X )
,它将为您提供Inf和NaN值的索引。A.elem(find_nonfinite(A)).fill(b);
谢谢。 - Clement D.
.replace()
函数。 - hbrerkere