2012-05-02 68 views
0

私は非線形連立方程式のシステムを見ています。 2つの変数は、u> 0およびb> 0です。 Matlab、Python、またはFortranでこの問題をどのように解決できますか?ありがとう。非線形連立方程式の解法(Matlab、Python、Fortran)

Nonlinear simultaneous equations

+0

インターネットには、クラスの講義ノートに加えて、非線形方程式を解くアルゴリズムについての多くの参考文献があります。このようなオープンエンドの質問は、このフォーラムにはあまり適していません。 –

+0

個人的には、私はそのコメントが役に立ちそうだとは思わない。それはオープンエンドの質問ではない。単にアルゴリズムのアドバイスを求めているだけです。おそらくあなたはここに提供するものはありませんが、それは悪い質問にはなりません。 – duffymo

+0

ありがとうございます。私は数学のコミュニティでその質問をするべきだったと思う。 –

答えて

0

あなたは簡単にBの#1を解くことによって、これらの方程式のいずれかを排除することができます。その後、それを使って#2を解く。

反復法を使用する必要があります。ソリューションを推測し、推定値を計算し、推測値と比較し、収束するまで調整し、繰り返す必要があります。

積分を計算するには、数値積分(5次ルンゲクッタなど)を使用します。

2

私は正にこの質問が本当にここに属しているのか分かりません。しかし、その解決策は理論的には単純です。方程式1は、uの関数として、bについて些細に解かれる。式2に代入すると、bは1つの場所にしか現れません。

ここで、新しい式2でrootfinderを使用して、その関係を満たすuの値を求めることができます。 uの値が与えられれば、適応的な数値直交ルーチンを使用して統合を行うことができます。 MATLABでは、quadgkのようなものになります。

実際には、その積分のカーネルは変数tの簡単な多項式ですが、積分のうちのu^10因子。このように、最初の学期の計算は手作業で統合を行いますが、鉛筆と紙を使うことになります。または、象徴的なツールボックスで十分です。長い行になりますが、解決するための1行の呼び出しがあれば十分ですが、私はそれを書くのが面倒です。

これまで述べてきたように、数字の統合はすべて問題になります。数値が厄介で巨大で、指数がかなり大きいためです。したがって、それはあなたが非常にソリューションを象徴的に実行したいということも意味します。

本当に、この問題の解決には、特に、シンボリックツールボックス(または、鉛筆や紙)のようなツールが十分で利用可能な場合に、数値ソルバーを問題に投げるのは悪い考えです。

関連する問題