問題タブ [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 - Matlab で 1 次 ODE 系を解くためのフォワード オイラー
2 次 ODE から取得した 2 つの 1 次 ODE があります。
私の質問は、前方オイラーを設定する方法ですか? 私は持っています:
wolfram-mathematica - 数値積分による NMinimize
Mathematica でゼロであることがわかっている方程式を最小化して、関数の係数を見つけようとしています。私のコードは次のとおりです。
最後の行の後に表示されるエラーは次のとおりです。
エラーが発生する理由はありますか?
ありがとう
matlab - Matlab の ode45 ソルバー内のパラメーターの値を変更するにはどうすればよいですか
ode45
Matlabを使用して微分方程式を解こうとしています。私は2つのスクリプトを実行しています:
次に、2 番目のスクリプトでは、
の 3 つの値を使用して方程式を解こうとしていますがomega1
、エラーが発生します。
omega1
引数として定義しようとしました: function xdot=linearproblem(t,x,omega1)
、しかしそれは助けにはなりませんでした。
matlab - Matlab の ode45 が初期条件を関数に送信しない
私は簡単な問題を抱えていますが、かなり簡単な解決策があることを願っています。次のような関数があります。
x
は、システムの構成 (位置と運動量) を含む 4 つの要素をもつ列ベクトルです。ode45
次のように、この構成空間でいくつかの粒子を数値的に統合するために使用しようとしています。
これを試すたびに失敗し、次のエラーが表示されます。
ode45
は、期待される 4 つの要素のベクトルではなく、1 つの要素x=0
をに渡しています。これがインデックスエラーの原因です。なぜこれが起こっているのですか、どうすれば修正できますか? どうも使い方が間違っているようです。myFunction
myFunction
ode45
python - Matlab のような 3d Trapz (または Simps)
Python を使用して数値的に統合する必要がある 3D 配列があります。私の配列は、波長、深さ、時間の関数です。これは、別のソフトウェア パッケージを使用して数値的にモデル化したデータであり、関数の分析形式を持たず、他のパッケージからの 3D 配列出力だけです。この配列の三重積分を見つける必要があります。Matlab では、trapz(my_array, 3) を使用します。ここで、3 は統合する ndims です。Scipy trapz は、単一の積分でのみ機能するようです。
2つの選択肢があると思いますが、アドバイスが必要です。
opt 1.関数ハンドルを返すscipyで3d補間を使用しますが、これらは存在しますか? 1d バージョンは関数を返し、次に scipy.integrate.tplquad を使用して、配列内の最大値と in 値を統合制限として使用する補間関数で統合を行います。
オプション 2. 別のサイトで見つけた 2d に対するこの提案のように、ネストされた 3 つの trapz 呼び出しを使用します。--> sp.trapz(sp.trapz(f, y[np.newaxis,:], axis=1), x, axis=0))
どちらかを機能させるために頭を動かすことはできません。ヘルプ/アドバイスをいただければ幸いです。統合エラーをできるだけ少なくする必要があります。
r - Rにおける数値二重積分
Rで数値的に二重積分の値を計算しようとしています。コードとコード化しようとしている方程式は次のとおりです。
コードをコンパイルして実行すると、次のエラーが発生します。
誰かがエラーを手伝ってくれたり、問題を解決する別の方法を提案してくれませんか.
ありがとう。
matlab - 補間関数内の MATLAB 統合変数
以下に示すように統合を実行したいと考えています。
補間関数内で積分変数 'u' を使用しているため、エラーに直面しています。(補間関数内の 'u' を何らかの定数で置き換えると、積分は正常に実行されます。)
それを修正するためのいくつかの指針を提供してください。
PS: 明確にするために、y=f(x) [区分関数] です。これが、中間値を決定するために補間する理由です。
どうもありがとう !!