पर फ़ंक्शन लागू करें मेरे पास Eigen::MatrixXd
है और मैं फ़ंक्शन घटक-वार लागू करके अपने सभी तत्वों को संशोधित करना चाहता हूं। उदाहरण के लिए:सभी ईजिन मैट्रिक्स तत्व
MatrixXd m = ...;
for each m[i][j]:
m[i][j] = exp(m[i][j]);
क्या इस परिणाम को प्राप्त करने का कोई तरीका है?
क्या यह सही होगा? "m.unaryExpr (& std :: exp)" –
@Xinghihi नहीं, क्योंकि ['std :: exp'] (http://en.cppreference.com/w/cpp/numeric/math/exp) में अधिभार है, और 'unaryExpr' अकेले' std :: exp' से फ़ैक्टर हस्ताक्षर को कम करने में असमर्थ है (यानी, 1 से अधिक उम्मीदवार हैं)। यदि आप 'm.unaryExpr (& std :: exp)' जैसे फ़ैक्टर प्रकार निर्दिष्ट करके कंपाइलर को "मदद" करते हैं, तो यह काम करेगा। –
vsoftco
बहुत बहुत धन्यवाद, आप सही हैं। –