MATLAB: Interpolation in negative axis

curve fittingfiguregaussian fittinginterpolationplot

I have fitted my data with a gaussion function. the curve is basically lying in first coordinate and not starting from zero. I want to calculate the value of x for y=0 (x would then definitely come in 2nd coordinate). How to find this value of x. In figure, the first fitted curve (not starting from zero)
fun1 = @(p,xdata) p(1).*(1-exp(-xdata./p(2)))+5000;
I want to a value of x for y=0 (when curve touches x axis). How to find it. Any lead will be appricated.

Best Answer

  • Once you have your fitted ā€˜pā€™ values, you can find the x value at y=0 with the fzero function.
    Try this:
    fun1 = @(p,xdata) p(1).*(1-exp(-xdata./p(2)))+5000;
    x_intercept = fzero(@(xdata) fun1(p,xdata), -1);