Mathematical Applets

Here is a collection of applets which can be used when trying to solve various mathematical problems.

• The Root-finding Applet implements Bisection, Secant, Newton, Modified Newton, Mueller and Inverse Interpolation methods to solve nonlinear equations in a single variable of the form $f(x) = 0$. It implements Picard iteration and Steffensen's algorithm to solve fixed point problems of the form $f(x) = x$.

• The Interpolation Applet constructs and graphs interpolating polynomials, cubic splines, and interpolating rational functions for a given set of data. Both Neville interpolation tables and divided difference tables are generated.

• The Numerical Integration Applet approximates the value of a definite integral using the Right-endpoint Rule, the Midpoint Rule, the Left-endpoint Rule, the Trapezoid Rule, Simpson's Rule, Romberg Integration, and an Adaptive method based on Simpson's Rule.

• The Initial Value Problems Applet generates numerical solutions to systems of 1, 2 or 3 ordinary differential equations of the form
$x'=f(t,x,y,z), \quad y'=g(t,x,y,z), \quad z'=h(t,x,y,z)$
$x(a)=x_0, \quad y(a)=y_0, \quad z(a)=z_0, \quad a \le t \le b$.

• The Boundary Value Problems Applet can be used to generate the numerical solution of general second order boundary value problems of the form
$y'' = f(x,y,y'), \quad a \le x \le b$
or self-adjoint problems of the form
$-((p(x)y')' + q(x)y = r(x), \quad a \le x \le b$
with boundary conditions
$c_1y'(a) + c_2y(a) = y_0$
$c_3y'(b) + c_4y(b) = y_1$

• The Boundary Value Applet with Parameter can be used to generate the numerical solution of general second order boundary value problems of the form
$y'' = f(x,y,y',r), \quad a \le x \le b$
$c_1y'(a) + c_2y(a) = y_0$
$c_3y'(b) + c_4y(b) = y_1$
This applet can be used to finding eigenvalues for the differential equation and boundary conditions.

• The Sturm-Liouville Applet can be used to generate the eigenvalues and eigenfunctions of linear second order boundary value problems of the form
$((p(x)*y'(x))' + q(x)*y(x) + eig*r(x)*y(x) = 0, \quad a \le x \le b$
$a_1y(a) + a_2p(a)y'(a) = 0$
$b_1y(b) + b_2p(b)y'(b) = 0$

All of the applets require the user to enter one or more functions. The applets respect the common conventions for writing mathematical expressions. Be aware of the following rules when entering a function.

1. Supported mathematical operations (from highest to lowest precedence).
^ * / + -
2. Supported mathematical functions. The following functions can be used in the Applets.

trig functions: sin(x), cos(x), tan(x)

inverse trig functions: asin(x), acos(x), atan(x)

natural log and exponential functions: exp(x), log(x)

power functions: sqrt(x), pow(x,y)

hyperbolic functions: sinh(x), cosh(x), tanh(x), asinh(x), acosh(x), atanh(x)

the miscellaneous functions: abs(x), ceil(x), floor(x), max(x,y), min(x,y)

3. Grouping. Spaces are ignored when the string is parsed and terms may be grouped with any of
(), {}, []
4. Special symbols. The mathematical constant $\pi$ is denoted by pi.
5. All operations must be explicitly written, so the expression 2x must be written as 2*x. The exponential function must be written as exp(x) and not as e^x.
6. Examples
 (x+1)/(x^2+1) or (x+1)*(x^2+1)^(-1)
 exp(2*x)*(sin(x))^2
 sqrt(x^2+1) or (x^2+1)^(1/2) or pow(x^2+1,0.5)
 max(2*x,x^2)