首页 > 解决方案 > 使用 unaryExpr 在 Eigen 中模拟 std::transform-like API

问题描述

在 R 中,写作(arr<cutOff)给你一个 s 的数组0/1,这样1只有那些位置i有s arr[i] < cutOff。我想在 中实现相同的功能Eigen,并包含以下代码unaryExpr。下面的代码是其中的一种尝试,我相信应该有一些惯用的方式来实现这一点Eigen,即一些干净的std::transform功能。

            ArrayXd arr; /// some initialization
            const auto bool2double= [](const bool t)->double { return t ? 1.00:0.00; };            
            ArrayXd tmp= (arr<cutOff).unaryExpr(bool2double).array();

那么,是否有任何类似干净std::transform的 API Eigen

标签: eigen

解决方案


推荐阅读