Ich habe eine vector<vector<double>
, also eine Tabelle (Matrix) von Werten. Spalten enthält Position und Geschwindigkeit eines Planeten, also speichert Zeilen Daten des gleichen Planeten. Ich möchte eine Zeile in valarray
umwandeln, weil ich mathematische Operationen brauche. Dann möchte ich die Vararrays (die Planeten) in einem Vektor speichern. ich so versucht:Weisen Sie einen Std :: Vektor zu einem 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;
}
Dieser Code nicht funktioniert hat und ich erhalte einen Fehler um die Zuweisung eines Vektors zu einem valarray (anscheinend nicht zulässig).
Gibt es eine Möglichkeit, auf einfache Weise zu erreichen, was ich versucht habe?
Sie ein einfaches 'std :: vector' für Ihre Matrix verwendet werden soll und Verwenden Sie einige Formeln, um den richtigen Index zu berechnen. 'Std :: Vektor >' Schrauben Cache. –
inf
@bamboon Ich brauche vararray, um einen numerischen Agorithmus zu erstellen, der gleichzeitig Position und Geschwindigkeit integriert (also das ganze valarray). –