2016-08-07 33 views
0

Gaussian-Legendre直交積分のための重みと横軸を生成するコードはすでにありますが、二重積分に使用するのは難しいです。Gauss-Legendre直交を使用した二重積分の数値積分

ウェイトと横座標を生成するには、wをウェイト、xを横軸、x1を積分の下限、x2(w1、は上限であり、nは直交点の数である。

私は考えを理解するのに役立つように簡単な例を示します。次のような整数$ \ int_0^1 \ int_0^1 x^2 y^2 dx $ これを実装するにはどうすればよいですか?

ありがとうございます。

答えて

0

二重積分は、矩形領域の積分です。それらは、専用の矩形スキームで処理するか、または何をしようとしますか?プロダクトスキームから1次元の直角四角形で処理できます。ここでは、2つの異なるスキームを組み合わせてマッチさせることもできます。

製品スキームの点はデカルト積に一次元の点、すなわちされ、スキーム2からスキーム1及びy_jからすべてx_iため、(x_i, y_j)、製品方式で点です。重みは、対応する2つの重みの積である。

import numpy 
import quadpy 

quadpy.quadrilateral.integrate(
    lambda x: numpy.exp(x[0]), 
    [[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]], 
    quadpy.quadrilateral.Product(quadpy.line_segment.GaussLegendre(4)) 
    ) 
:あなたはあなたにそれが簡単に作成したい場合は、あなたが quadpy(私のプロジェクト)を使用することができ

enter image description here