Matlab多指数曲线拟合到同一组系数

时间:2016-11-25 13:09:42

标签: matlab curve-fitting data-fitting model-fitting

我正在尝试使用“exp1”拟合方法的相同系数集将多个指数曲线拟合到数据对,这将生成如下所示: graph

示例数据如下:

timeToFit = [24 48;48 72];
dataToFit = [150000 230000;105000 430000];

我可以使用单独的拟合方程拟合数据如下:

f1=fit([timeToFit(1,1),timeToFit(1,2)]'[dataToFit(1,1),dataToFit(1,2)]','exp1');
f2=fit([timeToFit(2,1),timeToFit(2,2)]'[dataToFit(2,1),dataToFit(2,2)]','exp1');

我试图在for循环中执行拟合但是我得到错误“从'cfit'转换为'double'是不可能的”。我将其编码如下:

collatedTime = [0,0,24,24,48,48,72,72];
for j = 1:size(collatedTime,2)/2-2
    f = fit([timeToFit(j,1),timeToFit(j,2)]',[dataToFit(j,1),dataToFit(j,2)]','exp1');
    plot(f)
end

我想要的是创建一个拟合函数,它能够拟合上图中我喜欢的多对数据之间的指数曲线,使用一组系数进行拟合并考虑减少y在每个x值处(即,将相同的曲线拟合到每组数据)。我应该怎么做呢?

0 个答案:

没有答案