için geçerli bir işlev var. Eigen::MatrixXd
var ve tüm bileşenlerini bir işlev bileşeni ile uygulayarak değiştirmek istiyorum. Örneğin:Tüm Eigen matris öğesi
MatrixXd m = ...;
for each m[i][j]:
m[i][j] = exp(m[i][j]);
Bu sonuca ulaşmanın bir yolu var mı?
bu doğru olur mu? "m.unaryExpr (& std :: exp)" –
@XingShi Hayır, çünkü ['std :: exp'] (http://en.cppreference.com/w/cpp/numeric/math/exp) aşırı yüklenmelere sahiptir ve 'unaryExpr', sadece std :: exp'den functor imzayı çıkaramaz (yani, 1'den fazla aday vardır). "M.unaryExpr (& std :: exp)' gibi functor türünü belirterek derleyiciye "yardım ederseniz" çalışır. –
vsoftco
Çok teşekkürler, haklısınız. –