2017-09-21 4 views
0

の出力をブーストマトリクスまたはベクトルに格納する方法があるかどうかは疑問でした。上記odeint stiff equation solverの出力を保存

size_t num_of_steps = integrate_const(make_dense_output< rosenbrock4<double> >(1.0e-6 , 1.0e-6) , 
     make_pair(stiff_system() , stiff_system_jacobi()) , 
     x , 0.0 , 50.0 , 0.01 ,cout << phoenix::arg_names::arg2 << " " << phoenix::arg_names::arg1[0] << "\n"); 

線94-97は、引数として関数に "" < < COUT < < ENDL文を通過します。これらのステートメントは結果を出力します。私はこれらの渡されたステートメントを変更して結果を格納する方法を見つけていません。

+0

あなたは[MCVE](https://stackoverflow.com/help/mcve)の概念に気づいていますか? – Fureeish

+0

私はそうではありませんでしたが、私はちょうどそれに大雑把な読書をしました。私はリンクされたコードを短くすると同時に、結果を再現可能にする方法はないと思います。提案された編集はありますか? – Nirjhar

+0

私はあなたのコードを見て読んだところから、異なるデータ型で 'cout <<'を実行しているだけで、表示するのではなくそのデータを保存したいときに問題となることがわかりました。 'cout << T'の各呼び出しは' T'を引数として 'std :: ostream&operator <<'を呼び出します。質問は、あなたのデータを 'vector'に保存しているか' matrix'は必須ですか? 'std :: stringstream'に何か問題がありますか?それは確かにいくつかの方法でコンテナのように振る舞うことができます – Fureeish

答えて

0

ベクトルxを格納状態の値が異なる時間に[0]

a[0] = x[0]; 

のようなので、単純な代入文を、あなたがあなたの出力を保存するベクトルで作業する場所。