我有一个函数,三个指数的总和:
F = f1*exp1 + f2*exp2 + f3*exp3
确切地:
F=1-((1-f(2)-f(3)).*(exp(-abs(data)./a(1)))+((1-f(1)-f(3)).*(exp(-abs(data)./a(2))))+((1-f(1)-f(2)).*(exp(-abs(data)./a(3)))));
其中 f1, f2, f3 是分数,每个 exp 有一个参数,称为 a1, a2 和 a3。
因此,将此函数拟合到实验数据会给出六个参数(f1、f2、f3、a1、a2、a3)。
注意
a1 > a2 > a3
和
f1 + f2 + f3 = 1
拟合完成了几个时滞(称为 t1、t2、t3....)。因此,对于每个时间延迟,都有一组六个参数。
参数 a1、a2 和 a3 以线性方式随时间延迟增加(a1(t1) < a1(t2) < a1(t3)... 等等)。每个时滞的分数都是相同的。
我需要的是 a1(t)、a2(t)、a3(t) 和分数的斜率。问题是,当我为每个时滞拟合函数时,我经常遇到 a1 和 a2 很好地上升(完美的线性拟合)但 a3 下降的情况。我也有分数的问题 - 我不能取每个分数的平均值,因为当我添加 f1(t) + f2(t) + f3(t) 时,它永远不会等于 1。
有没有(简单的)方法可以“一次”全部安装?怎么做?谢谢!