What this calculator does
The Table Function Evaluator applies one mathematical expression f(x, y, z) to every row of a three-column data table. Each row supplies three numbers that are bound to the variables x (column 1), y (column 2) and z (column 3). The calculator parses your formula once, then evaluates it for each row and returns one output value per row. It is the three-variable generalisation of one- and two-variable table function tools and works as a generic batch expression engine.
How to use it
Type your expression in the f(x, y, z) = box, then enter your data with one row per line and three numbers per row separated by spaces, commas or tabs. Pick the number of significant digits for the displayed output (the underlying math always runs at full double precision). Supported tokens include + - * / ^, parentheses, the constants pi and e, and functions such as sqrt, abs, exp, ln, log, log10, sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, floor, ceil, round, pow, min, max and mod.
The formula explained
For row i the result is simply \(\text{results}_i = f(x_i, y_i, z_i)\). The expression is converted to an abstract syntax tree using a recursive-descent parser that respects standard operator precedence (unary minus, then ^, then * and /, then + and -), so \(2 + 3 \times 4\) evaluates to 14 and \(2 \char`^ 3 \char`^ 2\) follows right-associative power rules.
Worked example
With the default f(x, y, z) = sqrt(x) + sqrt(y) + sqrt(z) and rows 1 4 9, 16 25 36 and 0 100 4: row one gives $$\sqrt{1} + \sqrt{4} + \sqrt{9} = 1 + 2 + 3 = 6,$$ row two gives $$\sqrt{16} + \sqrt{25} + \sqrt{36} = 4 + 5 + 6 = 15,$$ and row three gives $$\sqrt{0} + \sqrt{100} + \sqrt{4} = 0 + 10 + 2 = 12.$$ Using f(x, y, z) = x*y + z on the row 2 3 5 gives $$2 \times 3 + 5 = 11.$$
FAQ
What happens with division by zero or sqrt of a negative number? That row is flagged: division by zero shows Infinity and out-of-domain results show NaN, while other rows still compute normally.
Why do my digits stop changing past 15? Standard double-precision arithmetic holds about 15-16 significant figures, so requesting more digits cannot add real precision.
What if a row has fewer than three numbers? It is reported as an input error for that row because all three of x, y and z must be supplied.