Search code examples
matlabmatlab-figurenonlinear-functions

How can I use Non-linear Fitting function on Matlab


I have Non-linear Fitting function like:

prate ~ (m1-((m1-m2)/(1+(IC50/(conc)))))    

And a table:

[I] (µM)    Max polymerization rate
25.00          3.08
12.50          3.30
6.13           4.44

and IC50 = 1.87

I want to create a function like the one above and use this data to make a plot. Is that possible?


Solution

  • This might help you get started.

    You need to define your function using handles. Say you have a variable PolymerRate you want to estimate and conc as input variable, I think in your case would be something like:

    IC50 = 1.87;
    prate = @(m,conc) (m(1)-((m(1)-m(2))/(1+(IC50/(conc)))));
    m0 = [1 1];
    [m,resnorm,~,exitflag,output] = lsqcurvefit(F,m0,conc,PolymerRate);
    plot(conc,PolymerRate,'ro')
    hold on
    plot(conc,prate(m,conc))