Day04 自定义函数拟合

在matlab中也可以用用户自定义的函数进行拟合,例题用下表中数据进行拟合,

在matlab命令行中用如下代码先把散点图画出,代码以及运行结果图如下图:

接下来使用自定义函数f(t)=acos(kt)e^wt,进行数据拟合。编写M文件如下,并且运行之后结果图如下:

其中,fittype函数是自定义拟合函数,cfun=fit(x,y,f)是根据自定义的拟合函数拟合数据x,y。此处数据必须为列向量的形式。

拟合曲线给出了数据的大致趋势,效果很好,并给出各参数的置信区间。

查了一下fittype()函数的用法:

用法为fittype('自定义函数','independent','自变量','coefficients',{'系数1','系数2'……});

比如要拟合一组数据(x,y) ,知道其对应的函数形式为a*cos(k*t)

syms t

x=[ 已知数据列向量];

y=[ 已知数据列向量];

fittype('a*cos(k*t)','independent','t','coefficients',{'a','k'});

cfun=fit(x,y,f) %显示拟合函数

xi=0:0.1:10;%比如

yi=cfun(xi);

plot(x,y,'r*',xi,yi,'b-');

你可能感兴趣的:(Day04 自定义函数拟合)