問題タブ [numerical-integration]
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.
matlab - 曲線が特定の x 座標に到達するのにどれくらい時間がかかりますか?
x
曲線が特定の座標に到達するのにかかる時間を計算するにはどうすればよいですか(Matlab で)。dx/dt = x^2 + y^2 および dy/dt = 5.xy で、曲線が点 (a,b) から始まるとします。の助けを借りてode45
、曲線の図を得ることができました。曲線が x = c (c>a) に達するまでの時間を計算する必要があります。これは補間でできると言われましたが、コードの書き方がわかりません。
matlab - Matlab の ode45 で "Refine" オプションを使用する
MAtlab で使用しようとしていますode45
が、MAtlab が使用するポイント数 (タイム ステップ数) を修正したいと考えています。'refine'
オプションを使用してode45
も役に立たないようです。たとえば、10 に設定すると'refine'
、Matlab は 101 の配列を返します。asと書けば解決することはわかっていますが、オプションで点数を固定したいです。'RelTol'
'AbsTol'
tspan
[0,t1,t2,t3,...,tn]
'refine'
c++ - メンバー関数を任意精度の C++ 直交ライブラリ (Quadpack++) に渡す
最初はGSLを使用していた、特に厄介なクラスの関数を数値的に統合しようとしていますが、丸め誤差が許容範囲に対して大きすぎます。任意精度の直交ライブラリをすばやく Google で検索した後、quadpack++を見つけました。
入力として、次の形式で必要です。
私はC ++にかなり慣れていないので、おそらく単純なものですが、Q1とQ2に基づいて考えることができるポインターとstd::bindのすべての組み合わせを試しましたが、役に立ちませんでした。これに関するヘルプ、またはより良いテストと文書化された任意精度の直交ライブラリの提案は大歓迎です。
python - Python の台形規則
Python 2.7.2 で台形規則を実装しようとしています。私は次の関数を書きました:
ただし、 f(lambda x:x**2, 5, 10, 100) は 583.333 を返すため (291.667 を返すはずです)、明らかに私のスクリプトに問題があります。私はそれを見つけることはできません。
matlab - Matlab ODE ソルバーの複数の出力
私は次のMatlab ODEコードを持っています:
ODE ソルバーが、z = f(y,dy/dt) となるような y と dy/dt の関数である結果 z も提供してくれることを望みます。
そのような z をソルバーの出力に追加する方法を知っている人はいますか?
matlab - ode45 ループ内の統合に関する問題
この Matlab コードを使用しようとすると、無限ループに入ります。内部で統合を実行しようとしていますode45
:
matlab - matlab/オクターブ ランダム イベント ode45
微分方程式の解決において、オクターブ/マットラボでイベントを実装する方法を理解するのにいくつかの問題があります。
たとえば、微分方程式 y' = -y を解く次の単純なコードを考えてみましょう。
今回はランダムイベントを紹介したいと思います。たとえば、一定の時間ステップで、値をランダムに変更y
し、微分方程式に従って進化を続けたいと思います。これどうやってするの?
matlab - Matlab のオイラー法
私はオイラー法を使用して微分方程式 df/dt= af(t)−b[f(t)]^2 を近似する問題に取り組んでいます。b=0 の場合と b がゼロでない場合の両方です。そして、b=0 のときの近似解と解析解を比較します。
b=0 のとき、微分方程式の解は f(t)=c*exp(at) です。f(0) = 1000 という初期条件を適用すると、微分方程式は f(t)=1000*exp(at) になります。さて、私の教授は、微分方程式には解析解があると言いました。どの時間ステップを使用しても、解析解のグラフと近似 (オイラー法) は一致します。したがって、2 つのグラフが重なることが予想されました。私が得たものの写真を添付しました。
なぜこれが起こったのですか?グラフを重ねるために、1000 を 10 に変更しました。これは a=10 です。こうすると、2つが重なりました。理解できない。私は間違って何をしていますか?