関数 f(x) の変数 x に関する原始関数(の 1 つ)を求めるには、書式
integrate(f(x), x)
を用いる。例えば、log x の不定積分を計算してみると次のようになる。
(%i1) integrate(log(x), x); (%o1) x log(x) - x
a から b までの定積分を求めるには、書式
integrate(f(x), x, a, b)
を用いる。sin x の 0 から π までの定積分を計算すると次のようになる。
(%i2) integrate(sin(x), x, 0, %pi); (%o2) 2
積分区間には inf(正の無限大)や minf(負の無限大)を用いることが出来る。
(%i3) integrate(%e^x, x, minf, 0); (%o3) 1
上手くいかない場合もある:
(%i4) integrate(2^x, x, minf, 0);
0
/
[ x
(%o4) I 2 dx
]
/
minf
なお、2^x の場合も不定積分(%o5)や正の無限大 [0, ∞) の方は正しく計算出来ている(%i6)。
(%i5) integrate(2^x, x);
x
2
(%o5) ------
log(2)
(%i6) integrate(2^x, x, 0, inf);
Integral is divergent
-- an error. Quitting. To debug this try debugmode(true)
他に、定積分計算用関数 ldefint や数値積分計算用関数 romberg などがある。
注意 不定積分を実行する場合は変数 logabs を true に設定することが推奨される。この変数はデフォルトでは false のため、例えば 1/x を正しく不定積分出来ないからである:
(%i7) integrate(1/x, x); (%o7) log(x) (%i8) logabs:true; (%o8) true (%i9) integrate(1/x, x); (%o9) log(abs(x))