Reverse Integrated 2D Help Table

I have some function f (x, y) -> (a, b)that maps some input (x, y)to output (a, b). The conclusion is a complex number. I'm really interested in the inverse function g (a, b) -> (x, y). But since this inversion cannot be performed analytically, I need to do this using a numerical approximation.

Since it f (x, y)is expensive computing, my idea was to use the approach in the lookup table. I can create a 2D lookup table with dimensions (x, y)(direct lookup table), but I really need the opposite of this lookup table, giving (x, y)based on the given (a, b).

, , - , . , . - , ?

function definition

kz, theta0 hV, sigma (x, y).

+2
1
  • f(x,y) f(x,y)->(a,b) 2D LUT (Look Up Table)

    , , .

    , min/max LUT, .

  • g(a,b)->(x,y)

    • ?
    • , (x,y) (a,b)=f(x,y)?
    • , : f ?

    f , , , - , f , , . , f

    , (x,y)=g(a,b), f(x,y)=(a,b)?

    • . (x,y) , |f(x,y)-(a,b)| .

    • , ,

      • .
      • , , 1D LUT (a(t),y(t)) (a0,y0,z0)

:

int n=5;  // recursions
double e; // Error Of Solution Variable
approx ax,ay;
//            min    max   step   
for (ax.init(-100.0,+100.0,10.0,n,&e);!ax.done;ax.step())
for (ay.init(-100.0,+100.0,10.0,n,&e);!ay.done;ay.step())
    {
    e=|f(ax.a,ay.a)-(a,b)|;
    }
// here (ax.a,ay.a) should hold your solution for input point `(a,b)`
  • , .
  • g(a,b) , , .

LUT...

  • 10, n .

2D O((log(N))^2). 3D O((log(N))^3) 100 e , ( 35 )

  • N=(10^n)*(max-min)/step, n -
  • step/(10^n)
  • min, max ...
+2

Source: https://habr.com/ru/post/1669248/


All Articles