User defined function

Hi all,

I would like to generate a user-defined function and use it to fit a dataset I obtained from ligand titration experiments. This should obey an inverse hyperbolic function of the type : Y=C1-Ymax*[L]/Kd*[L], where [L] the concentration of the ligand, Kd the dissociation constant, Ymax is the saturation signal at the plateau and C1 is the signal at the zero concentration of the ligand which can be treated as a constant. In principle, we are looking for 2 coefficients: the Ymax and the Kd (Kd corresponds to Ymax/2). I have attached a file with a similar dataset for fitting.
My problem is that, while I defined the function and Igor accepts it, when I fit my data I get a very peculiar straight line and not hyperbolic. I have checked a wide range of coefficients at the coefficient tab but still no success. Does anybody have a similar experience with such a function? It is similar to the Michaelis-Menten hyperbolic curve except from the fact that in my case it is inverse. It could be that I am doing something wrong.

Many thanks in advance for your help,

Cheers,

Chris
Trial Inverse hyperbolic.pxp
If I had to guess, I would think your fitting equation is wrong. Can you point to a reference of the equation.

--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
You can use the function grapher (Analysis --> Packages-->Function Grapher) to see how your expression looks like with different coefficient. If can't get the general shape of your data, then it's the wrong equation.
Hi guys...

thanks a lot for your replies. In principle I made a mistake indeed. The denominator has Kd+[L] . So the equation is the following: Y=C-Ymax*L/Kd+L. But still I do not get an inverse hyperbola as it should be. Did you check the file I attached to see the curve????
Hi,

The user-fit function you describe works OK. Not sure where the problem lies. In Curve Fitting you need to define a new fit function. Independent variable is x. Fit coefficients are k0, k1, k2. Your formula is f(x) = k0-(k1*x)/(k2+x)
This should give:
Function mimen(w,x) : FitFunc
    Wave w
    Variable x

    //CurveFitDialog/ These comments were created by the Curve Fitting dialog. Altering them will
    //CurveFitDialog/ make the function less convenient to work with in the Curve Fitting dialog.
    //CurveFitDialog/ Equation:
    //CurveFitDialog/ f(x) = k0-(k1*x)/(k2+x)
    //CurveFitDialog/ End of Equation
    //CurveFitDialog/ Independent Variables 1
    //CurveFitDialog/ x
    //CurveFitDialog/ Coefficients 3
    //CurveFitDialog/ w[0] = k0
    //CurveFitDialog/ w[1] = k1
    //CurveFitDialog/ w[2] = k2

    return w[0]-(w[1]*x)/(w[2]+x)
End


You select wave1 as y and wave0 as x, then make some guesses to get going. k0=1000, k1=800, k2=0.9. This works as far as I can see, but for interpretation of the kd and Ymax, I'd need to think about that...
Hi SJR51,

thanks a lot for your time you spent on my post. I will try it out as soon as possible and let you know. Many thanks once more,

Best,
CSK