問題タブ [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.

0 投票する
0 に答える
579 参照

differential-equations - 一階偏微分方程式

まったく関係のない問題の再発に取り組んでいます。私はそれを生成関数としてモデル化し、ポイントに到達しました:

ここでa、 とnは正の整数です。

の解決策を見つけるにはどうすればよいf(x,y)ですか? このための良いアプローチを持っている教科書はないようです。

0 投票する
2 に答える
10211 参照

math - 区分関数を wolfram alpha にどのように入力しますか?

関数 f(t) を特定の値で定義し、方程式で f(t) を使用するなど、いくつかのアプローチを試しましたが、これまでのところ何もうまくいきませんでした。私は wolfram alpha の使用が大好きです。これは、高度な微分方程式の宿題をよりよく理解するのに役立つ非常に貴重なリソースです。0 から 5pi までの区分的な方形波をグラフ化しようとしています
。方程式は x'' + 2x' + x = f(t)どこにありますか

f(t)は方形波で、値は 0 と pi の間で 5、次に pi と の間で 0、2 2*pi*pi と 3*pi の間で 5 などf(t)です。ODE の駆動関数です。0 < t < 5*pi これを wolfram alpha などのプロッターに入力するのに役立つ情報があれば、よろしくお願いします。

0 投票する
1 に答える
2944 参照

matlab - MATLABでの明示的なオイラー法(ODE用)の実装

どこでも検索しましたが、何も見つかりません。

まず、Mat Labを使用したことがないので、今まで何をしていたのかわかりません。

私はいくつかのことを試しましたが、どれもうまくいきませんでした。どうやらy(0)= 2は2の値で0ユニットのリストを作成しようとしますか?

とにかく、誰かが私を助けることができますか?このようないくつかの方程式を解くには、MatLabで柔軟なオイラー法方程式を書く必要があります。

1)y'= 5-3sqrt(y); y(0)= 2

h = .1、.05、.025、.01 && t = .5、1、1.5、2、2.5、3の場合

何をしているのかわかりません。

0 投票する
2 に答える
66 参照

wolfram-mathematica - ローカル変数を気にせずに式を Mathematica の変数に入れる方法はありますか?

Mathematica で NDSolve を使用して一連の方程式を解いています。コードを読みやすくするために、一連の方程式を変数に入れ、後でNDSolveで参照する方法を探しています。

これが私がやっていることのより簡単なバージョンです:

評価すると、正しい答えが得られません。

これは、x、y、a、b がローカル変数であり、x、y、a、b とは異なる内部名が付けられているためです。equs の定義を関数に変更すると、正しい結果が得られます。

しかし、私の問題は、実際のコードの equs に 20 個を超える変数があり、それらを明示的に書き出すとコードが読みにくくなることです。これを解決する方法はありますか?

0 投票する
1 に答える
767 参照

matlab - 微分方程式を連続的に解く

コンテキストについては、Matlab で時空間ニューラル ネットワークをモデル化してシミュレートしようとしています。ニューロンのダイナミクスを表す微分方程式を決定しました。

ここで、この微分方程式を「継続的に」解決する必要があります。つまり、シミュレーションを実行して何かを実行し、その間にニューロンを微分方程式に従って更新する必要があります。

現時点では、次の 2 つのアプローチがあります。

まず、次のようなことができます。

したがって、ode45 を無限に実行し、ニューロンの状態を直接更新する並列タスクをバックグラウンドで開始するという考えですnn.U。ただし、私が知っているように、ode45 は通常、それぞれの値の「履歴」を保存しt、計算が完了するとそれらの値を返します (たとえばtis at TFINAL)。私はこれらの値には興味がありません。この方法で ode45 を実行すると、すぐにメモリ不足になると思います。

もう 1 つのアイデアは、ode45 を無限に (非同期バックグラウンド タスクでも) 呼び出すことです。

これは、最初のアプローチと同様に、私にとって非常に不器用で扱いにくいようです。私の問題にはもっと洗練された解決策があるに違いないと感じています。

ode45 はここでは適切な選択ではないでしょうか?

編集:明確にするために、差分。方程式は経時的な通常の方程式であり、ode45 で解ける凝ったものは何もありません (すなわちdUdt = -U + some-stuff * networkoutput)

0 投票する
1 に答える
2130 参照

c - 並列(CUDA)2Dポアソンソルバー

予測子修正子法を使用して2Dポアソン方程式を解く必要があります。方程式は、n*m不均一なグリッドで解く必要があります。予測子修正子法とは、xあるステップの解が、あるステップの解と値k+1を合計することによって得られることを意味します。この値は、次のような連立一次方程式を解くことによって得られます。kdeltadelta

A(x ^ k)*デルタ= b(x ^ k)

有限差分法を適用することにより、行列A5非ヌルの対角線を持ちます。メインの対角線、真上と真下の対角線、さらに上下の2つの対角線(n-1他の対角線からゼロ対角線で区切られます)。不均一でAあることは、明らかに非対称です。また、の主対角線Aとベクトルbは、古い解に従って変更されます。ここで、並列アルゴリズムを使用してこの問題を解決したいと思いますdelta。大きなグリッドを見つけるのは非常にコストがかかる可能性があるためです。何か案は?今はヤコビ法を試しています。

私には2つの可能な道があると信じています:直接法と逐次法に固執するか、反復法を使用することができます。後者を選択した場合、並列処理を利用したい場合は、ヤコビ法を使用する必要があります。他の並列方法を知っていますか?5前者を選択した場合、私が正確にゼロ以外の対角線を持っているという事実を利用するアルゴリズムがあるかどうか知っていますか?ブロック行列に対するThomasのアルゴリズムはどうですか?

0 投票する
2 に答える
1534 参照

differential-equations - 非線形微分方程式の解のプロット

Maxima に微分方程式系があります。そして、私は解決策を描こうとしています。

しかし、私はエラーがあります:

0 投票する
0 に答える
3328 参照

matlab - ode45/fsolve による BVP の射撃法解法の問題

シューティング法を使用して、MATLAB で境界値問題を解こうとしています。ただし、関数を fsolve に渡そうとすると、次のような警告が表示されます。時刻 t で許容される最小値 (2.273737e-013) よりもステップ サイズを小さくしないと、積分許容誤差を満たすことができません。

さまざまな ODE ソルバーを使用したり、ODE ソルブと fsolve の許容誤差を変更したりするなど、一般的な回避策をいくつか試しましたが、役に立ちませんでした。現在、自分のパラメータで fsolve を実行しても何も変わらず、最初の推測と同じです。

メイン スクリプト ファイルのコードと、fsolve によって呼び出される関数ファイルを含めました。

0 投票する
2 に答える
4043 参照

matlab - Matlab ヘルプ: 2 次微分方程式が与えられました。単位ステップ応答とインパルス応答を見つけるために、matlab を使用する必要がありますか?

私は二次微分方程式を持っています

t は秒単位で、0 より大きい値です。A1、B1、C1 は次の定数です。

このシステムは線形で、時不変で、カジュアルです。このシステムは H1 と呼ばれます。Matlab を使用して、このシステムのインパルス応答関数 h1(t) と単位ステップ応答関数 g1(t) を計算してプロットしたいと考えています。

0 投票する
1 に答える
10899 参照

matlab - Matlab-3次微分方程式を解く

ODE45関数を使用してこの方程式を解くにはどうすればよいですか?

私はこれを試しました:

しかし、Xの部分を方程式に入れる必要があります-方法がわかりません...