Mathematics    

例題:2重積分

つぎの数値積分を考えましょう。

たとえば、 

. を考えます。最初のステップは、計算する関数を作成することです。関数は、ベクトル入力が与えられたとき、ベクトル出力を返すものでなければなりません。ユーザは、変数が内側になっているか、外側になっているかを考えなければなりません。この例題では、内側の変数は x で、外側の変数は y です(積分の順番は、dxdyです)。この場合、積分関数は、つぎのようになります。

積分を行なうために、2つの関数がfunfunデレクトリの中で使用可能になります。まず、dblquadが、コマンドラインから直接読み込まれます。このM-ファイルはquadを使って外側のループを計算します。各繰り返しで、quadは内側ループを計算する2番目の関数を読み込みます。

2重積分を計算するため、つぎのステートメントを使います。

最初の引数は、積分される関数名です。2番目から5番目までの引数は、つぎのようになります。

xmin
内側積分の下限
xmax
内側積分の上限
ymin
外側積分の下限
ymax
外側積分の上限

ここでは、 dblquadの使い方の例を示します。

結果は、-9.8698になります。

デフォルトにより、dblquadは、quadを使います。quadlを使って前の例を積分するため、つぎのステートメントを使います。

また、quadと同じ読み込みかた、引数を求積関数がもっているなら、ユーザ定義の求積法関数をdblquadに渡すこともできます。


 例題:曲線の長さの計算 微分方程式