Function Value Table
Enter a function of x, an x interval and a step size Δx. The calculator returns the table of values f(x) at every x = xMin, xMin + Δx, xMin + 2Δx, … up to xMax, with non-defined entries clearly marked.
The arithmetic, not the sketch
Before graphing software, sketching a curve meant building a table: choose x values, work out f(x) for each, plot the pairs and join them up. The method is still useful — it is how a graph gets drawn on paper, and the clearest way to see what a function does numerically rather than visually.
This tool produces that table. Give it a function, an interval and a step size, and it returns every pair from the lower end of the interval upwards, marking any input where the function has no value.
The tedious part of building a table by hand is the evaluation, not the choice of points. Thirteen substitutions into a quadratic teach nothing after the third, and one slip puts a point in the wrong place with no sign that anything is wrong.
Handing that over leaves the interesting decisions — how wide an interval, how fine a step, whether the shape between points is trustworthy — where they belong.
How to use this calculator
- Enter the function of x Standard arithmetic with ^ for powers, plus the named functions sin, cos, tan, exp, ln, log, sqrt and abs. The constants pi and e are recognised.
- Give the interval as two numbers For example −3, 3. The lower value must be the smaller of the two; an unreadable pair falls back to −5 to 5 rather than failing.
- Choose the step size The gap between consecutive x values. A smaller step gives more rows and a truer picture, at the cost of more to read.
- Read the table, including the undefined rows A row with no value is telling you about the function's domain, not failing. Those rows deserve as much attention as the numbered ones.
How the rows are generated
The function is compiled once and evaluated at each point in turn, starting from the lower end and advancing by the step. Each row shows the input and the value; an input where the function returns something not finite is labelled undefined rather than printed.
Two guards shape the table first. The step is never allowed below one two-hundredth of the interval width, so a very small step on a wide interval is quietly widened rather than producing thousands of rows. Independently, the row count is capped at a hundred — the limit that actually bites on most requests.
The two rules interact. The step is raised first, then the row count truncated — so an over-fine step on a wide interval gives a coarser table throughout, whereas a reasonable step with too many rows keeps the spacing but stops short of the upper end.
Values are shown to six significant figures after floating-point noise is removed. That matters for a table: it is why f(0.5) on a quadratic reads as a clean 0.25 rather than a long decimal ending in stray digits.
What each input means
- f(x) Function — form field “f(x)”
- The expression to tabulate, in x. It is compiled once and evaluated at each row, so any expression the parser accepts can be used.
- [xMin, xMax] Interval — form field “x range”
- Two comma-separated numbers giving the first and last x to consider. The table starts exactly at the lower value.
- Δx Step size — form field “Step Δx”
- The spacing between consecutive rows. It is raised if it would be finer than one two-hundredth of the interval width.
Worked examples
Every number below is produced by the same calculation engine the tool above runs. Nothing here is typed by hand, so the walkthrough cannot drift from what you get when you enter the same values yourself.
A parabola at half-unit spacing
Tabulate x² from −3 to 3 with a step of 0.5. Thirteen rows, all defined, and the values are symmetric about the middle.
Inputs f(x) = x^2, x range = -3, 3, Step Δx = 0.5
- Function f(x) = x^2
- Range x ∈ [-3, 3], step 0.5
- x = -3 f(-3) = 9
- x = -2.5 f(-2.5) = 6.25
- x = -2 f(-2) = 4
- x = -1.5 f(-1.5) = 2.25
- x = -1 f(-1) = 1
- x = -0.5 f(-0.5) = 0.25
- x = 0 f(0) = 0
- x = 0.5 f(0.5) = 0.25
- x = 1 f(1) = 1
- x = 1.5 f(1.5) = 2.25
- x = 2 f(2) = 4
- x = 2.5 f(2.5) = 6.25
- x = 3 f(3) = 9
Result 13 values tabulated
The values fall and then rise, with the smallest at the centre. Reading a column of numbers for that turning point is a different skill from spotting it on a curve, and the one a table trains.
Values at x and −x are identical throughout. That symmetry is visible at a glance in a table and easy to miss on a hand sketch, which makes tabulation a decent test for even and odd functions.
A sine wave over one period
Tabulate sin(x) from 0 to 6.28 with a step of 0.523 — roughly a twelfth of a full turn, so the table walks through the standard angles.
Inputs f(x) = sin(x), x range = 0, 6.28, Step Δx = 0.523
- Function f(x) = sin(x)
- Range x ∈ [0, 6.28], step 0.523
- x = 0 f(0) = 0
- x = 0.523 f(0.523) = 0.499481
- x = 1.046 f(1.046) = 0.865426
- x = 1.569 f(1.569) = 0.999998
- x = 2.092 f(2.092) = 0.86722
- x = 2.615 f(2.615) = 0.502591
- x = 3.138 f(3.138) = 0.00359265
- x = 3.661 f(3.661) = -0.496366
- x = 4.184 f(4.184) = -0.86362
- x = 4.707 f(4.707) = -0.999985
- x = 5.23 f(5.23) = -0.869004
- x = 5.753 f(5.753) = -0.505693
- x = 6.276 f(6.276) = -0.00718525
Result 13 values tabulated
The step is a decimal approximation to π/6, so the values land close to the familiar exact ones without hitting them precisely. A value of 0.499770 where 0.5 was expected is the approximation in the step showing through, not an error in the sine.
The interval stops just short of a full turn, since 6.28 is slightly less than 2π. The final row therefore does not quite return to the starting value — a small honesty about entering an irrational bound as a decimal.
Reading the result
The table says nothing about the gaps
Between two rows the function can do anything: turn, cross the axis twice, run off to infinity. Joining the points assumes smoothness, and that assumption is yours.
An undefined row locates a domain problem
It marks an input the function cannot accept — a division by zero, a negative under a square root, a non-positive logarithm argument. The domain and range calculator will say which operation is responsible.
The last row may not be the upper bound
Rows advance by whole steps from the lower end, stopping at the last that fits. Unless the width divides exactly by the step, the upper value you asked for will not appear.
When you would use this
Sketching a curve on paper
A dozen accurate points is enough to draw a recognisable graph by hand, and the table supplies them without the arithmetic that makes the exercise slow.
Finding where a sign change happens
Scanning the value column for a change of sign brackets a root between two rows. Halving the step over that narrower interval closes in on it — bisection done by reading.
Assumptions and limitations
What this calculator assumes
- The function is real-valued in one variable and can be evaluated at each tabulated point independently.
- Rows start exactly at the lower bound and advance by whole steps.
- A step finer than one two-hundredth of the interval width is widened to that limit.
- At most a hundred rows are produced, whatever the interval and step would otherwise give.
Where it stops being the right tool
- Evenly spaced points only: the sampling cannot be concentrated where the function is interesting.
- No plot, no zeros and no extrema — the table is raw values, and the grapher is the tool that interprets them.
- The hundred-row cap silently truncates the interval rather than warning that it did.
Common mistakes
Asking for a step far finer than the cap allows
Why it happens. A step of 0.001 across an interval of ten sounds like a request for detail. It is quietly widened, and the table that comes back is coarser than the one you asked for.
How to avoid it. Narrow the interval instead. Fine spacing over a short stretch stays within both limits and gives the detail where it was wanted.
Reading a shape from too few rows
Why it happens. Five points can be joined into a smooth curve that looks convincing, and there is nothing in the table to suggest a turn was skipped between two of them.
How to avoid it. Halve the step and check that the shape survives. A feature that appears or vanishes when the spacing changes was never established by the coarser table.
Treating an undefined row as a bug
Why it happens. Every other row carries a number, so a row without one reads as a failed evaluation rather than as a statement about the function.
How to avoid it. Look at what the function does there. A vertical asymptote or a domain boundary is a genuine feature, and the row is reporting it correctly.
Frequently asked questions
What is a function table for?
It is the traditional way to sketch a graph by hand: tabulate enough points and join them up. It also makes numerical patterns visible — symmetry, a constant ratio between rows, a value approaching a bound — that a drawn curve tends to hide.
How is undefined output handled?
Any input where the function returns something that is not a finite number is labelled undefined rather than given a value. That happens at x = 0 for 1/x, and wherever a square root or logarithm falls outside its domain.
Is there a maximum number of rows?
Yes, one hundred. The step is also never allowed to be finer than one two-hundredth of the interval width. To see more detail, narrow the interval rather than shrinking the step.
Why does the table not reach my upper bound?
Because rows advance in whole steps from the lower bound and stop at the last one that fits. An interval whose width is not an exact multiple of the step will always end short of the value you entered.