[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Reverse function numerically

From: Juan Pablo Carbajal
Subject: Fwd: Reverse function numerically
Date: Wed, 31 Jan 2018 14:12:56 +0100

As said before, you are essentially searching for zeros of the
function g(x1,x2) - f(y1,y2), i.e.

g(x1,x2) - f(y1,y2) = 0

You can solve this with with any zero finding routine: Gauss-Seidel,
Picard, Newton-Rapson, etc... or you can approximate it with a
minimizing problem, e.g.

[x1,x2] = argmin ||g(x1,x2) - f(y1,y2)||

where ||.|| is some distance (or squared norm). The iterative methods
can be fast or not depending on the structure of your functions, the
minimization method will in general be slow.
To sped up you can resource to interpolation, as you did already,
solve the problem for a bunch of relevant points, then interpolate.
The solving and the creation of the interpolant is done off-line and
only once, To use your inverse, you just evaluate your interpolant
(usually very cheap). The interpolation can be done with Polynomials
(since it is a 2D domain), with Special functions or generalized
Fourier series (truncated, of course), or with Gaussian processes
(kriging or co-kriging).

There are packages in octave to do any f these thigns.

The particular choice depends on your function, is the example you
send the actual function you want to invert?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]