問題タブ [odeint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
boost - boost::numeric::odeint をスティッフ システムに使用すると、解析的なヤコビ行列を取得できない場合はどうなるでしょうか。
boost::numeric::odeint rosenbrock4 インテグレーターを使用しています。問題は、解析的ヤコビ行列を取得できないことです。これを修正する解決策はありますか?
python - ループとプロットでnumpy配列を設定する方法
scipy クックブックのコードを変更しようとしています
scipy クックブックは、いくつかの状態方程式を解いてから出力します。
scipy クックブックでは、プログラムを実行し、印刷物をファイルに保存する必要があります。
program.py > file.dat
次に、別のプロット関数でそのファイルからデータをロードする必要があります
作図前
t、x1、x2とプロットを設定したいだけです
誰でもその方法を教えてもらえますか?
これは私が変更しようとしているものです:
c++ - odeint で不連続性を処理する方法
odeint を使用して不連続性を処理するための最良の (計算効率が高く、見栄えの良いコード) 方法を知りたいです。サンプルコードはありますか?
ロータリーエンコーダーによって角度がデジタル的に測定されるフィードバック制御モーターのようなものをシミュレートしています。ロータリー エンコーダの出力 y は、y=floor(angle) のようにモデル化できます。ここで、角度は実数です。
概念的には、何をすべきかはわかっています。シミュレーション中に、角度が整数値と交差する時間を見つけてから、前のステップに戻り、その交差時間まで積分し、不連続性に従って状態 y を調整し、同じ点から積分を再開する必要があります。時間。
いくつかのグーグルの後、私は以下のコードを見つけました。しかし、ライブラリで使用できる関数 make_const_step_time_range が見つかりません。
http://meetingcpp.com/tl_files/mcpp/slides/12/odeint.pdfの 18 ページ:
私はboost_1_54_0を使用しています。
odeint - odeint: 統合中に中間結果をログに記録するにはどうすればよいですか?
odeint による積分中に状態以外の値をログに記録する方法を知りたいです。全角運動量 L と内部車輪の運動量 h の微分方程式として記述される衛星ダイナミクスのシミュレーションがあります。シミュレーションは正しく実行されています。しかし、状態変数だけでなく、外部トルク (N) や角速度 (オメガ) などの他の値も記録する必要があります。これは、Jinv*L です。ここで、Jinv は 3x3 定数の衛星慣性行列です。ある意味で、私のシミュレーターの目的は L と h を計算することではなく、「他の」変数の時間履歴を生成することです。
私が何をしているのかを示すために、以下は現在のコードを少し簡略化したものです。
python - scipy.integrate.odeint を使用して ODE のシステムを解くときに実際のデータを組み込む
ODE のシステムで表され、scipy の odeint 関数を使用して解決される加熱システムの単純なモデルを構築しようとしています。
このモデルに「実際の」データ、たとえば外部温度 (以下の正弦波としてシミュレート) を組み込みたいと思います。以下のコードは、FindVal という関数を使用して実際のデータを odeint によって評価されるタイムスタンプに補間する、私の現在のソリューション/ハックを示しています。
これは非常に遅いので、これをより良い方法で行う方法についての提案を探しています。
これがコードです...
c++ - 導関数とヤコビアンを使用して odeint クラスをブーストする
MCMC ルーチンで Boost odeint ライブラリを使用して、ODE モデルのパラメーターを推定するつもりです。これらの ODE はスティッフな可能性があるため、導関数を使用してヤコビアンをソルバーに渡すことができる必要があります。パラメーターと初期値をプライベート メンバーとして持ち、派生、ヤコビアン、およびパラメーターを変更するメソッドをパブリック メソッドとして持つクラスを作成したいと考えています。odeint Web サイトの堅い例を変更して、両方を含む 1 つのクラスを使用しようとしましたが、コンパイル時に「エラー: 'Fitzhugh::deriv() への呼び出しに一致する関数がありません」というエラーが表示されます。私は経験豊富な C++ プログラマーではないので、これはおそらく概念的な間違いです。これがコードです。
ここに完全な出力があります
python - scipy odeint で numpy 配列を使用する
scipy を使用して常微分方程式系を解いています。簡単にするために、私のコードを次のようにします。
しかし今、定数「a」のいくつかの値についてこのシステムを解きたいと思います。したがって、たとえば a = -2.0 だけではなく、次のようにします。
a の各値についてシステムを解きます。配列の各要素をループせずにこれを行う方法はありますか? 一度に全部できますか?