1

にいくつかのデータが保存されていstd::vector<std::vector<double>ます。std::valarrayこれを使用して、からを作成しましたstd::vector<std::vector<double>

std:valarray<double> corpX(corps_tmp[i].data(), corps_tmp[i].size());

この新しいものを使用して、corpXのstd:valarray<double>を作成するので、を取得します。次に、それぞれの最初の2つの値も別の値に格納する必要があります。std::vectorstd::vector<std:valarray<double>>std::valarraystd::valarray

std:valarray<double> position_corps = \\ Concatenation of all the std::valarrays corpsX

どうすればこれを簡単な方法で達成できますか?ありがとうございました!

4

1 に答える 1

1
// assume: std::vector<std::valarray<double>> corpsX;
std::valarray<double> position_corps(corpsX.size());
for (std::size_t i = 0; i < corpsX.size(); ++i) {
    position_corps[std::slice(2 * i, 2, 1)] = corpsX[i][std::slice(0, 2, 1)];
}
于 2013-03-27T07:32:25.137 に答える