如何在 Matlab 上使用非线性拟合函数

How can I use Non-linear Fitting function on Matlab

我有像这样的非线性拟合函数:

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

还有一个table:

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

and IC50 = 1.87

我想创建一个类似上面的函数,并使用这些数据来绘制图表。这可能吗?

This might help you get started

您需要使用句柄定义函数。 假设您有一个要估计的变量 PolymerRate 和 conc 作为输入变量,我认为在您的情况下会是这样的:

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))