| MATLAB Function Reference | ![]() |
注意
関数 quad8 は、古い関数です。関数 quadl に置き換えることをお勧めします。
|
表示
q = quad(fun,a,b) q = quad(fun,a,b,tol) q = quad(fun,a,b,tol,trace) q = quad(fun,a,b,tol,trace,p1,p2,...)
詳細
q = quad(fun,a,b)
は、a から b までの区間で、再帰的な適応 Simpson 求積法を使って、丸め誤差の範囲内で、関数 fun の積分を近似します。fun は、ベクトル x を受け取り、ベクトル y を戻します。関数 fun は、x の各要素について、計算されます。
求積 は、関数のグラフの下の部分を求めるために使用する数値法で、定積分を計算します。
q = quad(fun,a,b,tol)
は、デフォルトの
の代わりに、絶対誤差許容範囲 tol を使います。ここで、
は、浮動小数点精度 eps で、
は、積分により求められたものです。tol を大きい値にすると、関数計算の回数が減り、計算は速くなります。しかし、結果の精度は低くなります。MATLAB version 5.3 やそれ以前のバージョンで、関数 quad は、精度の低いアルゴリズムを使っていて、デフォルトの相対許容誤差は、1.0e-3 です。
q = quad(fun,a,b,tol,trace)
引数 trace がゼロでない場合は、リカーシブな作業を行っている間、[fcnt a b-a Q] の値を示します。
は、付加的な引数 q = quad(fun,a,b,tol,trace,p1,p2,...)
p1,p2,... を、関数 fun, fun(x,p1,p2,...) に直接、渡すことができます。tol、または、trace に対して空行列を渡すと、デフォルト値が使われます。
例題
例題 1. fun の設定に3つの異なる方法を使うことができます。
Q = quad('1./(x.^3-2*x-5)',0,2);
F = inline('1./(x.^3-2*x-5)');
Q = quad(F,0,2);
Q = quad(@myfun,0,2);
ここで、myfun.m は、M-ファイルです。
function y = myfun(x) y = 1./(x.^3-2*x-5);
a = quad(@sin,0,pi)
a =
2.0000
参考
dblquad, inline, quadl, @ (関数ハンドル)
参考文献
Forsythe, G.E., M.A. Malcolm and C.B. Moler, Computer Methods for Mathematical Computations, Prentice-Hall, 1977.
Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. このドキュメントは、http://www.inf.ethz.ch/personal/gander を通して、利用できます。
| qrupdate | quadl | ![]() |