matlab的polyfit,polyval,lsqcurvefit拟合函数

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

你可能感兴趣的:(matlab)