2012-03-06 10 views
2

Mathematicaで二重積分を数値的にどのように計算するのですか?Mathematicaで数値的に二重積分を計算するには?

Integrate[Exp[-0.099308 s] 
     * Integrate[Exp[0.041657423 u] Exp[-3.1413 s + 3.12 u] 
      * ((u/(s - u))^(1/2) BesselI[1,2 (u (s - u))^(1/2)] 
      + 0.293 BesselI[0,2 (u (s - u))^(1/2)]),{u,0,s}],{s,0,10}] 

enter image description here

+2

(近い)[二重積分をMATLABで数値的にどのように計算するのですか?](http://stackoverflow.com/questions/9554617/how-to-calculate-the-double-integral-numerically-in- matlab) –

+0

Mathematicaに関する質問は、どのようにMatlabの質問の欺瞞である可能性がありますか?それはJavaの質問とC#の質問のようになります。 – Verbeia

+0

@ Verbeiaあなたはポイントがありますが、OPは両方の言語で同じ積分に近づく方法を尋ねました。 – rcollyer

答えて

4

2つのことで、良好な応答を乗り越えることがあります。

Integrate[x y, {x, 0, 1}, {y, 0, x}] 

を次のように、それらを入れ子にすることなく、複数の整数を指定することができますので、まず第一に、Integratey == xx == 0、およびx == 1で囲まれた三角形の上にx yを統合、すなわち{x, x1, x2}、複数の「イテレータ」を受け入れます。制限の順番は、外側から内側に行くので、統合は右から左へと実行されます。次に、あなたの積分が

Integrate[Exp[-0.099308 s] Exp[0.041657423 u] Exp[-3.1413 s + 3.12 u] 
    * ((u/(s - u))^(1/2) BesselI[1,2 (u (s - u))^(1/2)] 
    + 0.293 BesselI[0,2 (u (s - u))^(1/2)]), 
{s,0,10}, {u,0,s}] 

第二になり、MathematicaはNSolveNDSolveNSum、およびNIntegrateのように、その標準的なアルゴリズムに数値同等の数を持っています。それらは全て、Nの先頭で識別可能であり、それ自体はfunctionである。これらの関数の良い点は、解析的に同等のシグネチャを持つことです。

NIntegrate[Exp[-0.099308 s] Exp[0.041657423 u] Exp[-3.1413 s + 3.12 u] 
    * ((u/(s - u))^(1/2) BesselI[1,2 (u (s - u))^(1/2)] 
    + 0.293 BesselI[0,2 (u (s - u))^(1/2)]), 
{s,0,10}, {u,0,s}] 
tkottで述べたように、 27.4182を与える

が、生成された任意の警告なしに次のように、数値的に、あなたは、単にNIntegrateIntegrateを変更、あなたは一体型統合します。

+0

私は簡単な方法を取った:)。少なくとも私は正しい答えを得る! – tkott

+0

ありがとうございます! – h02h001

1

あなたが数値的にMathematicaで何かを統合するために探している場合は、代わりにNIntegrateを使用する必要があります。これにより、定積分ではなく数値近似が得られます。

NIntegrate[ Exp[-0.099308*s]* 
    NIntegrate[Exp[0.041657423*u]*(Exp[-3.1413*s + 3.12*u])*((u/(s - u))^(1/2)* 
     BesselI[1, 2*(u*(s - u))^(1/2)] + 0.293*BesselI[0, 2*(u*(s - u))^(1/2)]) 
    , {u, 0, s}] 
, {s, 0, 10}] 

それは、内側が最初に評価された統合ので文句を言う、とsを指定せずに評価することはできませんが、これが正しいかどう

27.4182 

ないアイデアを与えていません!

ところで:あなたはhttps://mathematica.stackexchange.com/

+0

ありがとうございます! – h02h001

関連する問題