
The gesture control is implemented using Hammer.js. poles) are detected and treated specially. 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. The interactive function graphs are computed in the browser and displayed within a canvas element (HTML5). Otherwise, a probabilistic algorithm is applied that evaluates and compares both functions at randomly chosen places. If it can be shown that the difference simplifies to zero, the task is solved. For example, this involves writing trigonometric/hyperbolic functions in their exponential forms.

Their difference is computed and simplified as far as possible using Maxima. The "Check answer" feature has to solve the difficult task of determining whether two mathematical expressions are equivalent.
Differential calculus formulas for 11th code#
For each calculated derivative, the LaTeX representations of the resulting mathematical expressions are tagged in the HTML code so that highlighting is possible. This, and general simplifications, is done by Maxima. For example, constant factors are pulled out of differentiation operations and sums are split up (sum rule). In each calculation step, one differentiation operation is carried out or rewritten.

There is also a table of derivative functions for the trigonometric functions and the square root, logarithm and exponential function. The rules of differentiation (product rule, quotient rule, chain rule, …) have been implemented in JavaScript code. Instead, the derivatives have to be calculated manually step by step. Maxima's output is transformed to LaTeX again and is then presented to the user.ĭisplaying the steps of calculation is a bit more involved, because the Derivative Calculator can't completely depend on Maxima for this task. Like any computer algebra system, it applies a number of rules to simplify the function and calculate the derivatives according to the commonly known differentiation rules. Maxima takes care of actually computing the derivative of the mathematical function. This time, the function gets transformed into a form that can be understood by the computer algebra system Maxima.

When the "Go!" button is clicked, the Derivative Calculator sends the mathematical function and the settings (differentiation variable and order) to the server, where it is analyzed again. MathJax takes care of displaying it in the browser. This allows for quick feedback while typing by transforming the tree into LaTeX code. The parser is implemented in JavaScript, based on the Shunting-yard algorithm, and can run directly in the browser. The Derivative Calculator has to detect these cases and insert the multiplication sign. A specialty in mathematical expressions is that the multiplication sign can be left out sometimes, for example we write "5x" instead of "5*x". In doing this, the Derivative Calculator has to respect the order of operations. It transforms it into a form that is better understandable by a computer, namely a tree (see figure below). For those with a technical background, the following section explains how the Derivative Calculator works.įirst, a parser analyzes the mathematical function. Sam used Differential Calculus to cut time and distance into such small pieces that a pure answer came out.Īnd Differential Calculus and Integral Calculus are like inverses of each other, similar to how multiplication and division are inverses, but that is something for us to discover later! Integral Calculus joins (integrates) the small pieces together to find how much there is.Differential Calculus cuts something into small pieces to find how it changes.The word Calculus comes from Latin meaning "small stone". Sam: "I will be falling at exactly 10 m/s"Īlex: "I thought you said you couldn't calculate it?" so he imagines it shrinking towards zero and he gets: he wants Δt to be so small it won't matter. So the speed is 10 + 5Δt m/s, and Sam thinks about that Δt value.
