繁体   English   中英

MatLab至Eigen-标量提升至矩阵的幂

[英]MatLab to Eigen - scalar raised to the power of a matrix

我在MatLab中有以下代码,希望通过特征库理想地移植到C ++:

N(:,i)=2.^L(:,i)+1;

其中L是对称矩阵(1,2; 2,1),对角线元素均为1。

在本征(不受支持)中,我注意到有一个函数可以计算矩阵的指数,但是没有一个函数可以将任意标量提高到矩阵幂。

http://eigen.tuxfamily.org/dox-devel/unsupported/group__MatrixFunctions__Module.html#matrixbase_exp

我有什么想念的吗?

如果您确实想将任意标量提高为矩阵幂,则应使用标识a^x = exp(log(a)*x) 但是,Matlab .^运算符会计算按元素的功效。 如果要在Eigen中使用相同的功能,请使用相应的Array功能:

N.col(i) = pow(2.0, L.col(i).array()) + 1.0;

注意,Eigen从0开始索引,而Matlab从1开始索引,因此您可能需要将i替换为i-1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM