> # Integrace

> # Výpočet intagrálu

> int( x/(x^3-1), x );

-1/6*ln(x^2+x+1)+1/3*3^(1/2)*arctan(1/3*(2*x+1)*3^(1/2))+1/3*ln(x-1)

> int( exp(-x^2)*ln(x), x=0..infinity );

-1/4*Pi^(1/2)*gamma-1/2*Pi^(1/2)*ln(2)

> evalf(%);

-.8700577270

> r := int(1/x, x=a..2, 'AllSolutions');

r := PIECEWISE([undefined, a < 0], [infinity, a = 0], [-ln(a)+ln(2), 0 < a])

> # Aproximace funkce po částech lineární funkcí

> f:=x->x+2*cos(x);

> evalf(int(f(x),x=1..3));

f := proc (x) options operator, arrow; x+2*cos(x) end proc

2.599298046

> #  Přesný výpočet intagrálu

> readlib(spline):

> h:=spline([1,2,3],[evalf(f(1)),evalf(f(2)),evalf(f(3))],x,linear);

h := PIECEWISE([2.993502897-.912898285*x, x < 2], [1.463088967-.147691320*x, otherwise])

> # Předchozí dva řádky udělají po částech lineární aproximaci - viz násl.

> with(plots):
A:=plot(h(x),x=0.5..3.5,color=black):

> B:=plot(f(x),x=0.5..3.5,color=red):

> display({A,B});

[Plot]

> int(h,x=1..3);

2.718016136

> # Úkol - integrujte pro funkci f rozdělenou na 4, 6 a 8 intervalů a porovnejte výsledek

>