我有一个vector<vector<double>
,也就是一个值的表格(矩阵)。每一列代表行星的位置和速度,而每一行存储同一个行星的数据。我想把一行转换成valarray
,因为需要进行数学运算。然后我想把这些valarray
(行星)存储在一个向量中。我尝试了以下方法:
vector<vector<double>> corps_tmp=configFile.get_corps(); // The function returns a vector<vector<double>>
valarray<double> corpX;
for (int i(0); i < corps_tmp.size(); i++) {
corpX = corps_tmp[i]; // I want to save the first row of the vector<vector<double>> on the valarray
corps.push_back(corpX); // I want to ''add'' the valarray to a vector.
corpX = 0;
}
这段代码无法运行,并且在将一个向量分配给valarray时出现错误(显然不允许)。
有没有简单的方法可以实现我尝试做的事情?
std::vector<double>
来表示矩阵,并使用一些公式来计算正确的索引。std::vector<std::vector<double>>
会影响缓存。 - Stephan Dollberg