MATLAB中修正ERF的数据拟合

MATLAB中修正ERF的数据拟合,matlab,curve-fitting,Matlab,Curve Fitting,我第一次使用Matlab进行数据拟合,但我无法使它正确拟合我的数据。我有几百个测量值,从0-1标准化(参见链接图像) 然后我想用修改过的ERF来拟合数据,即:0.5+{0.5*[ERF(x/(2*(t*d)^(1/2))]}。我想外推t的值,因此我甚至尝试给d赋值(这是一个已知常数),并用一个未知值的常数替换初始0.5:a+{0.5*[erf(x/(2*(t*6E-20)^(1/2))]}。我还尝试使用ERFC而不是ERF 然而,我总是得到一条与我的数据不匹配的非常陡峭的拟合曲线。 我知道,给定

我第一次使用Matlab进行数据拟合,但我无法使它正确拟合我的数据。我有几百个测量值,从
0-1
标准化(参见链接图像)

然后我想用修改过的ERF来拟合数据,即:
0.5+{0.5*[ERF(x/(2*(t*d)^(1/2))]}
。我想外推
t
的值,因此我甚至尝试给
d
赋值(这是一个已知常数),并用一个未知值的常数替换初始
0.5
a+{0.5*[erf(x/(2*(t*6E-20)^(1/2))]}
。我还尝试使用ERFC而不是ERF

然而,我总是得到一条与我的数据不匹配的非常陡峭的拟合曲线。 我知道,给定一个固定的
d
,我应该从Matlab中获得
t
的值,大约
3-7
,因为我可以用给定的函数在Excel中很好地拟合数据(以定性的方式,即:通过肉眼),以及
t
的值
3-7

我可能应该提到,excel中的拟合是通过找到拐点并使用稍微不同的方程对拐点上方和下方的数据进行建模来完成的。我也在Matlab中尝试过这种方法,但仍然无法使其工作

出于某种原因,Matlab拟合总是返回与插入的起点相同的
t
值,并且无论使用何种方法,我总是得到相同的陡峭曲线。我对
t
的限制是
+/-inf

我做错了什么

谢谢

朱塞佩


在表达式
0.5+{0.5*[erf(x/(2*(td)^(1/2))])]}
中,变量是什么,参数是什么?谢谢您的回答。”x'是变量,t'是参数('d'乘以't'是一个常数,我事先知道)