| 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 | ![]() |