parfrac.mw

Integrace racionalní lomené funkce 

Maple umožňuje rozložit racionalní lomenou funkci na parcialní zlomky příkazem convert(f, parfrac, promenna). 

> convert((12*x+7)/(x^2-9*x+18), parfrac, x);
 

-43/3/(x-3)+79/3/(x-6) 

Příklad 1 

> i1:=Int(x/(x^3-1), x);
 

(Typesetting:-mprintslash)([i1 := Int(x/(x^3-1), x)], [Int(x/(x^3-1), x)]) 

> with(student):
 

> convert(integrand(i1), parfrac, x);
 

1/3*(-x+1)/(x^2+x+1)+1/3/(x-1) 

> int(%,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) 

Příklad 2 

> i2:=Int((x^7+7*x-1)/(x^9+2*x^6+x^3), x);
 

(Typesetting:-mprintslash)([i2 := Int((x^7+7*x-1)/(x^9+2*x^6+x^3), x)], [Int((x^7+7*x-1)/(x^9+2*x^6+x^3), x)]) 

> convert(integrand(i2), parfrac, x);
 

31/9/(x+1)+1/(x+1)^2+1/9*(-1-31*x)/(x^2-x+1)-1/x^3+7/x^2+1/3*(-7-x)/(x^2-x+1)^2 

> int(%,x);
 

31/9*ln(x+1)-1/(x+1)-31/18*ln(x^2-x+1)-7/3*3^(1/2)*arctan(1/3*(2*x-1)*3^(1/2))+1/2/x^2-7/x+1/9*(-15*x+9)/(x^2-x+1)
31/9*ln(x+1)-1/(x+1)-31/18*ln(x^2-x+1)-7/3*3^(1/2)*arctan(1/3*(2*x-1)*3^(1/2))+1/2/x^2-7/x+1/9*(-15*x+9)/(x^2-x+1)
 

> normal(diff(%,x), expanded);
 

(x^7+7*x-1)/(x^9+2*x^6+x^3) 

Trigonometrické substituce 

Příklad 3 

> i3:=Int(x^3*sqrt(4-x^2), x);
 

(Typesetting:-mprintslash)([i3 := Int(x^3*(4-x^2)^(1/2), x)], [Int(x^3*(4-x^2)^(1/2), x)]) 

> changevar(x=2*sin(t), i3, t);
 

Int(16*sin(t)^3*(4-4*sin(t)^2)^(1/2)*cos(t), t) 

> value(%);
 

-32/5*sin(t)^2*(1-sin(t)^2)^(3/2)-64/15*(1-sin(t)^2)^(3/2) 

> subs(sin(t)=x/2, %);
 

-8/5*x^2*(1-1/4*x^2)^(3/2)-64/15*(1-1/4*x^2)^(3/2) 

> i3=simplify(%);
 

Int(x^3*(4-x^2)^(1/2), x) = -4/15*x^2*(4-x^2)^(1/2)+1/5*x^4*(4-x^2)^(1/2)-32/15*(4-x^2)^(1/2) 

> diff(rhs(%),x);
 

-8/15*x*(4-x^2)^(1/2)+4/15*x^3/(4-x^2)^(1/2)+4/5*x^3*(4-x^2)^(1/2)-1/5*x^5/(4-x^2)^(1/2)+32/15*x/(4-x^2)^(1/2)
-8/15*x*(4-x^2)^(1/2)+4/15*x^3/(4-x^2)^(1/2)+4/5*x^3*(4-x^2)^(1/2)-1/5*x^5/(4-x^2)^(1/2)+32/15*x/(4-x^2)^(1/2)
 

> rationalize(%);
 

x^3*(4-x^2)^(1/2) 

Příklad 4 

> i4:=Int(1/(9+x^2), x);
 

(Typesetting:-mprintslash)([i4 := Int(1/(9+x^2), x)], [Int(1/(9+x^2), x)]) 

> changevar(x=tan(t), i4, t);
 

Int((1+tan(t)^2)/(9+tan(t)^2), t) 

> value(%);
 

1/3*arctan(1/3*tan(t)) 

> i4=subs(tan(t)=x, %);
 

Int(1/(9+x^2), x) = 1/3*arctan(1/3*x) 

> normal(diff(rhs(%), x));
 

1/(9+x^2) 

Příklad 5 

Nakreslete graf primitivní funkce k funkci 1/(2-cos(x)) na intervalu `<,>`(0, 2*Pi). 

> f:=x->1/(2-cos(x));
 

(Typesetting:-mprintslash)([f := proc (x) options operator, arrow; 1/(2-cos(x)) end proc], [proc (x) options operator, arrow; 1/(2-cos(x)) end proc]) 

> i:=int(f(x), x);
 

(Typesetting:-mprintslash)([i := 2/3*3^(1/2)*arctan(tan(1/2*x)*3^(1/2))], [2/3*3^(1/2)*arctan(tan(1/2*x)*3^(1/2))]) 

> plot(i, x=0..2*Pi, discont=true, color=black);
 

Plot 

Ze získaného grafu je zřejmé, ze se nejedná o funkci primitivní na intevalu `<,>`(0, 2*Pi), protože není na tomto  

intervalu spojitá. Primitivní funkci zkonstruujeme nasledujicím způsobem 

> limit(i, x=Pi, left);
 

1/3*Pi*3^(1/2) 

> limit(i, x=Pi, right);
 

-1/3*Pi*3^(1/2) 

> i1:=i+2/3*Pi*sqrt(3);
 

(Typesetting:-mprintslash)([i1 := 2/3*3^(1/2)*arctan(tan(1/2*x)*3^(1/2))+2/3*Pi*3^(1/2)], [2/3*3^(1/2)*arctan(tan(1/2*x)*3^(1/2))+2/3*Pi*3^(1/2)]) 

> p1:=plot(i, x=0..Pi):
 

> p2:=plot(i1, x=Pi..2*Pi):
 

> with(plots):
 

> display({p1,p2}, color=black);
 

Plot 

>