Vous êtes sur la page 1sur 2

Rubi 4.

8
Rule-Based Integrator
Crafted by Albert D. Rich, Applied Logician
Store this Mathematica notebook file and the Rubi package files in a directory of your
choice. Then press Shift-Enter or use Mathematica's Evaluation>Evaluate Initialization
Cells command to evaluate the cells in this notebook. This loads Rubis 6100+ integration
rules, show-step routines and required utility functions. This process may require a few
minutes, depending on the speed of your computer.
If the control variable ShowSteps is True when the rules are being loaded, their definitions
are automatically modified to display the steps Rubi uses to integrate expressions. To
load the integrator without this considerable overhead, change the value of the following
assignment to False before loading the integrator.
In[1]:=

In[2]:=

ShowSteps=True;
Get[NotebookDirectory[]<>"ShowStep routines.m "];
Get[NotebookDirectory[]<>"Integration utility functions.m "];
Clear[Int];
Int::usage="Int [expn, var]";
LoadPackage["9.1 Integrand simplification rules"];
LoadPackage["1.1 Linear products"];
LoadPackage["1.2 Quadratic products"];
LoadPackage["1.3 Binomial products"];
LoadPackage["1.4 Trinomial products"];
LoadPackage["1.5 Miscellaneous algebraic functions"];
LoadPackage["9.3 Piecewise linear functions"];
LoadPackage["2 Exponentials"];
LoadPackage["3 Logarithms "];
LoadPackage["4.1 Sine"];
LoadPackage["4.2 Tangent"];
LoadPackage["4.3 Secant"];
LoadPackage["4.4 Miscellaneous trig functions"];
LoadPackage["5 Inverse trig functions"];
LoadPackage["6 Hyperbolic functions"];
LoadPackage["7 Inverse hyperbolic functions"];
LoadPackage["8 Special functions"];
LoadPackage["9.2 Derivative integration rules"];
LoadPackage["9.4 Miscellaneous integration rules"];
FixIntRules[];

Rubi4.8.nb

In[26]:=

If[ShowSteps, StepFunction[Int]];
Modifying 6199 integration rules to display steps...

To see the steps required to integrate the following expression, move the cursor to the line
below and press Shift-Enter or the numeric keypads Enter key to evaluate the cell. Then
repeat this process on the intermediate results until the expression is completely integrated.
To change the display color of the rules and conditions, set the control variables
$RuleColor and $ConditionColor to the desired colors. To suppress the display of the
steps and just show the antiderivative, set the control variable ShowSteps to False.
In[28]:=

Sec[x]

Int

, x

1+Sin[x]
Rule 2371: If IntegerQ

p-1

1
&& ZeroQ[a2 - b2 ] && p -1 || ! IntegerQm + && ZeroQ[a2 - b2 ]
2
2

p
m
cos[e + f x] (a + b sin[e + f x]) x

Dist

In[29]:=

1
bp f

, Subst (a + x)m+

SubstInt

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

p-1
2

(a - x)

p-1

x, x, b Sin[e + f x], x

, x, x, Sin[x]

Rule 63: If NonzeroQ[b c - a d] && RationalQ[n] && n < -1,


(c + d x)n

In[30]:=

a+bx

x -Simp

(c + d x)n+1
(n + 1) (b c - a d)

, x + Dist

b (n + 1)
(n + 1) (b c - a d)

(c + d x)n+1
a+bx

x, x

1
1
, x, x, Sin[x], x
+Dist , SubstInt
2
(1 -x) 1 +x
1 +Sin[x]

Rule 62: If NonzeroQ[b c - a d] && RationalQ[n] && -1 < n < 0, let p = Denominator[n], then
(c + d x)n

In[31]:=

a+bx

x Distp, Subst

+SubstInt

1 +Sin[x]

1
2 -x2

xp (n+1)-1
a d - b c + b xp

, x, x,

1 +Sin[x]

a
Rule 576: If NegQ ,
b
- ab ArcTanh
1

a + b x2

1+Sin[x]

In[32]:=

2
2

Out[32]=

1
1 +Sin[x]

1+Sin[x]

ArcTanh

-b

x Simp

ArcTanh

1
1 +Sin[x]

x, x, (c + d x)1/p , x

, x

Vous aimerez peut-être aussi