我第一次使用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的 tt 的值,因为我可以很好地在Excel中定义数据(以定性的方式,即:用眼睛),给定的函数和 t 的值 3-7

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

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

我究竟做错了什么?

谢谢!

朱塞佩

Real data and fitted curve image