MATLAB Function Reference | ![]() ![]() |
表示
q = quadl(fun,a,b) q = quadl(fun,a,b,tol) q = quadl(fun,a,b,tol,trace) q = quadl(fun,a,b,tol,trace,p1,p2,...) [q,fcnt] = quadl(fun,a,b,...)
詳細
q = quadl(fun,a,b)
は、a
から b
の区間で、再帰的な Lobatto 求積法を使って、丸め誤差の範囲内で、関数 fun
の積分を近似します。fun
は、ベクトル x
を受け取り、ベクトル y
を戻します。関数 fun
は、x
の各要素で計算されます。
q = quadl(fun,a,b,tol)
は、デフォルトの の代わりに、
tol
の絶対誤差の許容範囲を使います。ここで、 は、浮動小数点精度
eps
で、 は、積分で計算された値です。
tol
に大きな値を設定すると、関数計算の回数は減り、計算は速くなりますが、結果の精度は悪くなります。
quadl(fun,a,b,tol,trace)
で、trace
に非ゼロを設定すると、繰り返し計算の中で、[fcnt a b-a q]
の値を示します。
quadl(fun,a,b,tol,trace,p1,p2,...)
は、付加的な引数 p1,p2,...
を直接、関数 fun
, fun(x,p1,p2,...)
に渡すことができます。tol
、または、trace
に空行列を渡すと、デフォルト値が使われます。
[q,fcnt] = quadl(...)
は、関数の計算を行う回数を戻します。
fun
の定義の中で、配列演算子 .*
, ./
,.^
を使用して、ベクトル引数を使って、計算できます。
関数 quad
は、低精度、または、スムーズさの低い積分手法を使って、より有効に行うことができる場合があります。
例題
3つの異なる手法を使って、fun
を設定することができます。
Q = quadl('1./(x.^3-2*x-5)',0,2);
F = inline('1./(x.^3-2*x-5)'); Q = quadl(F,0,2);
Q = quadl(@myfun,0,2);
ここで、myfun.m
は、M-ファイルです。
function y = myfun(x) y = 1./(x.^3-2*x-5);
参考
dblquad
, inline
, quad
, @
(関数ハンドル)
参考文献
Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. このドキュメントは、http://www.inf.ethz.ch/personal/gander を通して、利用できます。
![]() | quad, quad8 | questdlg | ![]() |