Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 转换Eigen';将s矩阵转换为c数组,这样我就可以使用gsl了_C++_Pointers_Eigen_Arrays - Fatal编程技术网

C++ 转换Eigen';将s矩阵转换为c数组,这样我就可以使用gsl了

C++ 转换Eigen';将s矩阵转换为c数组,这样我就可以使用gsl了,c++,pointers,eigen,arrays,C++,Pointers,Eigen,Arrays,我的大部分代码都使用Eigen,但我想使用来自GSL的Miser或Vegas monte-carlo积分。我需要将本征向量转换成双倍的c数组 最好的方法是什么 Matrix<double,3,1> --> c_array [] 矩阵-->c_数组[] 我以前和艾根一起工作过 通常,为了简单地访问内部阵列数据,您只需要: 如果希望迭代单个值以执行某些操作,则需要迭代每一行(.row(index))和列(.col(index)),具体取决于要在目标向量中设置的矩阵顺序 在您的特定

我的大部分代码都使用Eigen,但我想使用来自GSL的Miser或Vegas monte-carlo积分。我需要将本征向量转换成双倍的c数组 最好的方法是什么

Matrix<double,3,1> --> c_array []
矩阵-->c_数组[]

我以前和艾根一起工作过

通常,为了简单地访问内部阵列数据,您只需要:

如果希望迭代单个值以执行某些操作,则需要迭代每一行(.row(index))和列(.col(index)),具体取决于要在目标向量中设置的矩阵顺序

在您的特定示例中,只需迭代行:

Matrix<double,3,1> --> c_array []
矩阵-->c_数组[]
您需要调用.col(0)。如果出现类似的需求

因此,您将得到如下结果(假设您希望使用三行单列矩阵):

vector3dv;
//将值添加到向量的操作。

对于(inti=0;我希望没有复制的东西。但是现在可以检查答案的顶部:)出于好奇,这是用于你的游戏机器人项目吗?如果是这样的话,你打算建立一个开源库吗?它将以什么语言连接?C++,呵呵,可惜没有玩游戏BOT。我用这个来做物理化学研究,写一个半经典传播子来模拟原子的运动。
Matrix<double,3,1> --> c_array []
Vector3d v;
// Operations to add values to the vector.
for (int i=0; i<v.rows(); ++i)
  c_array[i] = v(i,0);