I have a set of 2D coordinates that represent a curve, and I'm struggling to find a function that roughly matches them.
Is there any software (free, preferably) that can fairly accurately guess a function that mostly matches a set of points (y = f(x))?
Assuming that you can approximate the curve with a polynomial and you have a sufficient amount of points, you can fit a curve into it using any software that solves you a system of equations:
say you have points $P = {p_1,p_2, \dots, p_n}$. You construct a $n-1$ degree polynomial $P(x)$, and form $n$ equations in terms of the coefficients of the polynomial. For example, with two points it would look like: $$ a_1x_1+a_2 = y_1 $$ $$ a_1x_2+a_2 = y_2 $$
This is called interpolating, and more specifically, interpolating with a polynomial. The method guarantees that the polynomial will represent the curve in points you specified, but it has no guarantees about how the polynomial represents the curve in the neighborhood of the points. If you know the value of the curve's derivative in $x$, you can use Taylor expansion. link