Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Inverting a function? f(y) instead of f(x)

  1. Nov 1, 2011 #1
    I'm trying to compare two fitted curves by looking at the difference in x. Standard regression analysis tools always give you a delta Y (residual) and this is how the fit is done in the first place.

    So I have the coefficients of each of the terms for my 7th-order polynomial. it's in the form

    [itex]y = f(x) = ax^7 + bx^6 + cx^5 + dx^4 + ex^3 + fx^2 + gx + h[/itex]

    The two curves have slightly different coefficients. Now how do I invert this function to get an f(y) so that I can calculate the difference in X for a given Y?

    This problem is easy for a simple function like [itex]y = f(x) = ax^2[/itex] then inverting it you get [itex]x = f(y) = \sqrt{y}/a[/itex] for positive y-values.

    Since I have the actual X and Y sets of values, I tried rotating the values 90 degrees (http://en.wikipedia.org/wiki/Rotation_matrix) and then looking at the delta Y, but the problem is the X values aren't the same anymore. Yes, a somewhat pointless attempt, but potentially serendipitous nonetheless.

    I have the X and Y data and also have access to a basic PC with MATLAB for number crunching if needed.
    Are there any clever tricks I can play to get the difference in X for a given Y? I'm sure I'm missing something here...
    Last edited: Nov 1, 2011
  2. jcsd
  3. Nov 1, 2011 #2


    User Avatar
    Science Advisor

    Since polynomials are infinitely-differentiable, you can use the inverse function theorem to determine where/if a local or global inverse exists. For one, your function must be 1-1 and onto ℝ (which I assume is your codomain) for a global inverse to exist.

    You may want to try 'solving for x' in your equation, see what you get.
  4. Nov 2, 2011 #3
    Thanks for the help. I managed to figure it out using eigenvalues to find the roots and also the fact that I know roughly what the root should be (since my function is completely arbitrary). Basically I fed in the Y values for both equations, then solved each one for X by finding the eigenvalues. Since I know the X for one set isn't too far off from the X in the other set, I can reject all complex roots and roots that are way off.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook