Disclaimer:
Permission to use, copy,
and distribute this software and
It’s documentation for any non commercial purpose is hereby granted without fee,
provided:
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO
EVENT SHALL Henrik Vestermark, BE LIABLE FOR ANY
SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

Version 1.6: This web tool evaluates any real and complex expression. Besides the usual operators like +,-,*,/,%,^ you can also use the built in functions: abs, acos*, asin*, atan*, atan2*, ceil*, cosh, cos, exp, floor*, log, max*, min*, pow, random*, round*, sinh, sin, sqrt, tanh, tan.
*) marked are functions that only takes real arguments, all other takes real or complex arguments. e.g. sqrt(2-i2) evaluates to approx. (1.55+i0.64).
The operator ^ is the power operator. However it only takes an integer argument like the expression sqrt(2)^2. For more complex power operations use the general power function: pow() instead.
You can also assign expression to a variable: e.g. x=sqrt(2-i2)*3/4 and then used them later on. E.g. y=log(123.5)/x etc. In version 1.2 we have added functions. First you would need to define a function like in the following:
f(x)=2*sqrt(x)
and then just call then with a parameter e.g.: 3*log(f(4))
A function can also contains compound statements. e.g. f(x)={ x=2; y=3; z=5; } etc
You can have as many parameter as you like however number of parameter passed must match the definition of the functions.
Example: Durand-Kerner method on a polynomial f(x)=x^3-3*x^2+3*x-5
Add each line to the input field and it evaluate. Then type in next() and see the value of the roots for each iterations.
p=(0.4 + 0.9 i)^0, q=(0.4 + 0.9 i)^1, r=(0.4 + 0.9 i)^2
f(x)=x^3-3*x^2+3*x-5
next()={dp=f(p)/((p-q)*(p-r)); p=p-dp; dq=f(q)/((q-p)*(q-r));q=q-dq;dr=f(r)/((r-p)*(r-q));r=r-dr;}
If you refresh your browser or exit you loose all variables.
The Histroy section keeps track on your previous expression evaluations. Email me if you encounter any problems at hve@hvks.com

Corrections:

28-Oct-2009

Vs 1.5

Minor Exponent parsing problem corrected

18-Jul-2008

Vs 1.4

Works with IE7, FireFox 2 & 3

18-Jun-2008

Vs 1.3

Added Comma expression, Statements and compound statements

11-Jun-2008

Vs 1.2

Added support for define and calling user defined functions with zero or more parameters

10-Jun-2008

Vs 1.1

Added support for the assignment of variables

Rate this page

Click on the stars to rate this page

Low

High

Missing anything? or comment your rating. If reporting a bug please add you email address.