問題タブ [differential-equations]
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.
c++ - 計算能力が2分の1の高速アルゴリズムはありますか?
平面制限3体問題を解くためのプログラムを書いています。その方程式は以下のとおりです。この関数は、位置と速度の導関数を計算し、それらを配列に書き込みます。
したがって、位置ベクトルの2乗を計算してから、3/2の累乗にする必要があります。これらの操作は計算時間の大部分を占めると思います。
今、私はmath.hのpow関数を使用しています。このパワーを計算するための別のより高速なアルゴリズムはありますか?私は高速の逆平方根を使用しようとしましたが(そして後でそれを立方体にします)、それは私の目的にはあまりにも不正確な値を与え、より長く機能します(おそらく立方体のため)。
ありがとう!
microcontroller - マイクロコントローラーでODEを解く
マイクロコントローラーで2つの常微分方程式を解きたい。100msごとに評価する必要があります
基本的に私はオイラー統合を使用することを考えました(Runge-Kute I)
エラーは0.001未満になると思います。そのエラー率に達するまで実行する必要がある反復回数を決定するにはどうすればよいですか?
wolfram-mathematica - NDSolve の関数が "If" と等しくないのはなぜですか?[更新 1]
私の質問は次のとおりです。なぜrhsexpr
機能するのにrhsfunc
機能しないのですか。ありがとう。:)
rhsfunc
と定義されている:
rhsexpr
と定義されている:
rhsexpr
動作します。
rhsfunc
機能せず、t == 0 で導関数に数値以外の値が発生しました
更新 1
実際、私はrhsfunc
m@ と同じように を定義しています。
c++ - 推力で使用されるodeintとの統合を停止します
ODEのシステムをodeintライブラリと統合し、一連のポイントで並列に推力をかけようとしています(これは、多くの異なる初期条件を持つ同じODEを意味します)。特に、私は適応ステップサイズアルゴリズムrunge_kutta_dopri5を使用しています。アルゴリズムが失敗し、ステップサイズが小さくなり、統合プロセス全体が非常に遅くなるポイントがいくつかあります。
特定のテストに失敗した場合に、セットの一部のポイントでのみ統合プロセスを停止する方法はありますか?
私の特定のケースでは、重力の問題を積分しているので、ポイントがアトラクタに近づいたときに積分を停止したいので、距離は一定の制限未満です。
シリアルコンピューティングでは、この質問stepper.try_step
の背後にある考え方に多かれ少なかれ示されているように、これは関数を使用したカスタムwhileループによって実行できると思います。
推力を使用した並列コンピューティングでこれをどのように実行できますか?
ありがとう。
r - 微分方程式の近似:データセットをRの微分方程式に近似する方法
データセットの場合:
そして、このデータを以下の微分方程式に当てはめたいと思います。
ここで、Cは濃度、データセットの時間tです。これにより、kの結果も得られます。誰かが私にRでこれを行う方法の手がかりを教えてもらえますか?ありがとう。
r - Rの微分方程式に複数のパラメータを適合させる方法は?
このようなデータセットで
このデータを以下のように定義されたモデルに当てはめたい
このページ ( http://www.inside-r.org/packages/cran/FME/docs/modCost ) のリファレンスを参考にして、次のコードを作成しました。
ただし、次の警告メッセージが表示されました。
どこに問題があるのか誰か教えてください。それともどうすれば手っ取り早く?ありがとう。
matlab - matlab で勾配フィールドを描画する方法
Matlab で傾斜フィールドを描画する方法を探していました。
これが私が探しているものです:
方程式があります
また
そして綺麗に描きたい
ここでの唯一の答えは私の質問への回答ではなかったため、これを行う方法を見つけるのに時間がかかりました.
また、これは私が matlab で常に行っていることではないため (ほとんどの場合、次回必要になるまでは忘れてしまいます)、これを行う方法についてメモを作成しています。
役に立つと思われる場合は、お気軽に賛成票を投じてください
r - R:微分方程式モデルの時間依存パラメータ
私は微分方程式モデル (以下を参照) を持っています。特定の時間ステップまたは状態変数の 1 つの特定の値でパラメーターの値の一部を変更する方法を探しています (または、それがうまく機能する場合は別の方法) )。たとえば、タイム ステップ 5 で GammaQR と GammaQD を 0 から .02 に変更したいと考えています (H > .04 の場合は、よりうまく機能する場合もあります)。どうすればいいのかわからないので、アドバイスをいただければ幸いです。ありがとう!
maple - この微分方程式を Maple 12 でプロットして解く方法は?
$y^{\prime}=y-2$
初期条件の微分方程式を考えます$y\left(0\right)=1$
。
a) サイズ 0.2 の 4 ステップのオイラー法を使用して推定する$y\left(0.8\right)$
手でこれを行う方法を知っています。しかし、私は Maple 12 をインストールしており、Maple でこれを行う方法を理解しようとしており、関数の各ステップを示すグラフを作成しました。助言がありますか。mapleprimes を調べてみましたが、私が持っていない新しいバージョンの maplesoft の機能を指し示し続けています。
この問題を手で解決したので、モデルとして使用するためにこの質問を投稿しました。これは、他の微分方程式用に編集するのに役立ちます。
ps。これがこの質問をする適切な場所であることを願っています。そうでない場合は、より良い場所を教えてください。
python - Python で数値 ODE を解く
PythonでODEを数値的に解くにはどうすればよいですか?
検討
以下の条件で
と
制約付き
最後に、x 座標と y 座標が u の関数として生成されるパラメトリック プロットを作成します。
問題は、これは 2 次微分方程式であるため、odeint を 2 回実行する必要があることです。初めて実行した後、もう一度実行しようとしましたが、ヤコビアン エラーが返されます。一度に 2 回実行する方法が必要です。
エラーは次のとおりです。
odepack.error: 関数とそのヤコビアンは呼び出し可能な関数でなければなりません
以下のコードが生成します。問題の行は sol = odeint です。
編集
9ページのプロットを構築しようとしています
ここに Mathematica のプロットがあります