a = polyfit(x,y,n) 用n次多项式拟合多项式
x,y:已知数据集的解释变量和响应变量数组
返回多项式从高次到低次项的系数
f(x) = polyval(a,x) 返回x对应的拟合值
a为polyfit函数的返回值
x为已知数据集解释变量的值
lsqcurvefit(f,a,x,y)
f:是用来拟合数据的函数句柄
a:是对未知参数的预估值
x,y:已知数据集的解释变量和相应变量值
返回值:函数中未知参数的值
例:
用s(t) = b(1 - e^ct)函数拟合上面的数据,求参数b和c
matlab代码
time = [1:8 10];
speed = [1210 1866 2301 2564 2724 2881 2879 2915 3010];
a = [1,0];%a值根据具体问题的不同,不同取的值不同
s = @(a,x)a(1).*(1 - exp(a(2).*time));%函数句柄
r = lsqcurvefit(s,a,time,speed);
参考博客:
https://www.cnblogs.com/Juli016/articles/5211239.html?tdsourcetag=s_pctim_aiomsg