Wolfram Computation Meets Knowledge

NIntegrateの評価を高速化する方法

NIntegrateの評価を高速化する方法は積分により異なることが多いのですが,一般に以下の方法がよく使われます.

  1. NIntegrateのオプション”SymbolicProcessing“を0に設定し,Wolfram言語カーネルが積分を記号的に操作しないようにします.デフォルトではNIntegrateは被積分関数を記号的に前処理します.これによりNIntegrateはより難しい積分が評価できるようになります.しかし,記号処理で遅くなる計算もあります.fという関数を0から1まで,記号的な処理をしないで数値的に積分するためには,以下を評価します.
     NIntegrate[f[x], {x, 0, 1}, Method -> {Automatic, "SymbolicProcessing" -> 0}]

    Automaticの代りに,使用したい他のメソッドを指定することもできます.

  2. 計算から特異性と不連続性を取り除きます.Exclusionsオプションでは,被積分関数が特異点になる箇所をNIntegrateに評価させないように,除外する部分を指定することができます.例えば,関数に分母があるとき,分母が0になるところを指定します.
    NIntegrate[1/Sqrt[Sin[x]], {x, 0, 10}, Exclusions -> Sin[x] == 0]

NIntegrate積分ストラテジー」で数値積分を高速化する他の方法をご覧ください.

この項目は役に立ちましたか?
はい
いいえ

ご意見・ご提案がおありでしたらお書きください.

フィードバックをありがとうございました.

送信

サポートへのお問合せ

お支払い,アクティベーションに関する質問から技術的な質問まで,お気軽にお問い合せください.

販売代理店 (ライセンスをお持ちの方は、ご購入された代理店にお問い合わせください)

Hulinks

電話:03-5642-8380
Fax:03-5642-8381

soft.sales@hulinks.co.jp
Webサイト

日本電子計算株式会社

電話:03-5210-0184
Fax:03-5210-0229

math_info@cm.jip.co.jp
Webサイト

亘香通商株式会社

電話:045-320-2711
Fax:045-320-9342

sales@senko-corp.co.jp
Webサイト

株式会社シーエムディーラボ

電話:03-3408-8406
Fax:03-3408-8406

info@cmdlab.co.jp
Webサイト