This will be calculated:
Loading … please wait! |
Not what you mean? Use parentheses! Set integration variable and bounds in "Options".
Book Recommendation
Calculus for Dummies (2nd Edition)
An extremely well-written book for students taking Calculus for the first time as well as those who need a refresher. This book makes you realize that Calculus isn't that tough after all. → to the book
Result
Above, enter the function to integrate. Variable of integration, integration bounds and more can be changed in "Options". Click "Go!" to start the integral/antiderivative calculation. The result will be shown further below.
How the Integral Calculator Works
For those with a technical background, the following section explains how the Integral Calculator works.
First, a parser analyzes the mathematical formula. It transforms it into a form that is better understandable by a computer, namely a tree (see figure below). In doing this, the Integral Calculator has to respect the order of operations. A specialty in mathematical formulas is that the multiplication sign can be left out sometimes, for example we write "5x" instead of "5*x". The Integral Calculator has to detect these cases and insert the multiplication sign.
The parser is implemented in JavaScript, based on the Shunting-yard algorithm, and can run directly in the browser. This allows for quick feedback while typing by transforming the tree into a LaTeX formula. MathJax takes care of displaying the formula in the browser.
When the "Go!" button is clicked, the Integral Calculator sends the mathematical formula and the settings (variable of integration and integration bounds) to the server, where it is analyzed again using the same JavaScript code (this is possible using Node.js). This time, the formula gets transformed into a form that can be understood by the computer algebra system Maxima.
Maxima takes care of actually computing the integral of the mathematical formula. Maxima's output is transformed to LaTeX again and is then presented to the user. The antiderivative is computed using the Risch algorithm, which is hard to understand for humans. That's why showing the steps of calculation is very challenging for integrals.
In order to show the steps, the calculator applies the same integration techniques that a human would apply. The program that does this has been developed over several years and is written in Maxima's own programming language. It consists of about 13000 lines of code. When the integrand matches a known form, it applies fixed rules to solve the integral (e. g. partial fraction decomposition for rational functions or trigonometris substitution for integrands involving the square roots of a quadratic polynomial). Otherwise, it tries different substitutions and transformations until either the integral is solved, time runs out or there is nothing left to try. The calculator lacks the mathematical intuition that is very useful for finding an antiderivative, but on the other hand it can try a large number of possibilities within a short amount of time. The step by step antiderivatives are often much shorter and more elegant than those found by Maxima.
The interactive function graphs are computed in the browser and displayed within a canvas element (HTML5). For each function to be graphed, the calculator creates a JavaScript function, which is then evaluated in small steps in order to draw the graph. While graphing, singularities (e. g. poles) are detected and treated specially. The gesture control is implemented using Hammer.js.
If you have any questions or ideas for improvements to the Integral Calculator, don't hesitate to write me an e-mail.
Partner Sites
zweigmedia.com: Contains calculus tutorials and online tools.
stevewillot.com: Steve Willot's math help website contains learning/memory aides and useful links.
tutor-homework.com: Homework help and tutoring for mathematics, chemistry and physics. Also contains online tools.
Recommend this Website
If you like this website, then please support it by giving it a +1 and a Like. Thank you!
Two clicks for more privacy — the first click only activates the button!