Cle*_* D. 2 c++ matlab armadillo
以下matlab代码的armadillo/c ++等价物是什么?
A(isnan(A))=b;
Run Code Online (Sandbox Code Playgroud)
使用.transform()成员函数仅更改 NaN 条目。这也比使用find_nonfinite()更快,并且它将保持任何 Inf 值不变。
A.transform( [](double val) { return (std::isnan(val) ? double(b) : val); } );
Run Code Online (Sandbox Code Playgroud)
从文档中,您可以使用has_nan()以查看是否有任何值是NaN.但是,似乎没有函数返回哪些索引是NaN的索引,因此看起来您可能需要循环,并逐个检查各个元素.
但是,如果您不担心有无限,那么您可以使用find_nonfinite( X )它来为您提供Inf和NaN值的索引.