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-');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容