|
|
◆ qk15()
| function qk15 |
( |
f::Function |
, |
|
|
a::Real |
, |
|
|
b::Real |
|
|
) |
| |
有限区間の積分 (固定分点) (15点ガウス・クロンロッド則)
- 目的
- 本ルーチンは
I = [a, b]におけるfの積分値(誤差推定付き) および
J = [a, b]におけるabs(f)の積分値
を求める. ここで, fはユーザー定義サブルーチンにより与えられる関数である.
積分は15点ガウス・クロンロッド則を用いて計算される.
- 戻り値
- (result, abserr)
result (Float64):
求められた I = [a, b]におけるfの積分値.
abserr (Float64):
絶対誤差の推定値. 真の誤差に等しいかそれより大きい.
- 引数
-
| [in] | f | 被積分関数f(x)を求めるユーザー定義サブルーチンで, 次のように定義すること. _CODE function f(x) f(x)の関数値を返す end _ENDCODE |
| [in] | a | 積分区間の下限. |
| [in] | b | 積分区間の上限. |
- 出典
- SLATEC (QUADPACK)
- 使用例
- 次の定積分を求める.
∫ 1/(1 + x^2) dx [0, 4] (= atan(4))
function TestQk15()
f(x) = 1/(1 + x^2)
a = 0
b = 4
s, abserr = qk15(f, a, b)
println(s, " ", abserr)
end
function qk15(f::Function, a::Real, b::Real) 有限区間の積分 (固定分点) (15点ガウス・クロンロッド則)
- 実行結果
> TestQk15()
1.3258176613637855 0.0014827239412162237
|