私はvector<vector<double>
を持っていますので、値の表(行列)です。列には惑星の位置と速度が含まれているので、行は同じ惑星のデータを格納します。 valarray
で行を変換したいのは、数学演算が必要なためです。そして、私はベクトルにvalarrays(惑星)を保存したいと思います。 私はこのような試み:std :: vectorをstd :: 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へのベクターの割り当ての周りに誤差を求める(明らかに許可されていません)。
簡単な方法で達成しようとする方法はありますか?ベクターからのvalarrayを作成するには
あなたのマトリックスのためのプレーンな 'のstd ::ベクトルを'使用する必要がありますし、いくつかの数式を使用して適切なインデックスを計算します。 'std :: vector >'スクリューキャッシュ。 –
inf
@bamboon私は、位置と速度の両方を同時に(つまり全体のvalarrayを)統合する数値的なアルゴリズムを作るためにvalarrayが必要です。 –