将cx_vec元素转换为复杂的armadillo c ++

时间:2016-09-25 22:05:15

标签: c++ armadillo

我有一个向量cx_vec A(2);。我想选择第一个元素并得到它的论点。我在犰狳中没有发现这样做的功能,所以我试图做arg( A.row(0) )但是arg期望double complex。有没有办法来回转换cx_vecdouble complexarma::as_scalardouble

我尝试过它,但它没有用。

请注意我使用的是#include <complex.h>而不是#include <complex>,因为我需要一些明显不属于后者的定义(即I)。

编辑:感谢@kirbyfan64sos我意识到使用complex.h并不是一个好主意,但仍然无法将arma::cx_vec的元素转换为{ {1}}。

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

arma::cx_vec A(2);

// ... fill A with stuff ...

double x = std::arg( A(0) );