在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
下面,通过一个例子说明cftool可视化界面工具箱的用法. 例如,已知 x = [0 0.2 0.50.8 0.9 1.3 1.4 1.9 2.1 2.2 2.5 2.6 2.9 3.0]; y = [1.27792.1596 2.7311 2.5974 2.4068 1.6215 1.4178 0.9955 0.9666 0.8837 0.9639 1.00311.1233 1.1583]; 并且根据某种物理或数学关系确定y=f(x)的表达形式为y =a*sin(b*x)*exp(c*x)+d,其中a,b和d均为正数,c为负数,现要利用该函数形式对已知数据进行拟合,并求出拟合结果对应的系数a,b,c,d. 解法如下 ①在Command窗口输入两个向量的具体值,即输入 clc;clear; x = [0 0.2 0.50.8 0.9 1.3 1.4 1.9 2.1 2.2 2.5 2.6 2.9 3.0]; y = [1.2779 2.1596 2.7311 2.5974 2.4068 1.6215 1.41780.9955 0.9666 0.8837 0.9639 1.0031 1.1233 1.1583]; ②在Command窗口输入cftool命令,打开如下界面 ③在上述窗口中选中相应数据和拟合选项,如下 ③勾选[Auto fit]选项(或者点击[fit]按钮),即可得到对应图像,如下 ④由图可知,曲线和拟合程度较差。这是因为,对同一问题的拟合情况,每次可能都不一样,这取决对于参数a,b,c,d的StartPoint的选取.解决方法是在拟合过程中,将a,b,c和d也作为约束拟合的条件.例子中已知a,b,c,d的的取值范围(正负范围),可以在拟合中加入这个选项.方法为,点击[Fit Options]按钮,弹出的窗口如下 可以调整a,b,c,d参数的StartPoint,Lower,Upper三个选项来是拟合更加准确,例如,已知a,b,d都大于0,则将a,b,d的Lower选项设为0,c小于0,则将c的Upper选项设为0,设如下 ⑤设置完毕之后,(如果选择了[Auto fit]选项)就会出现重新拟合之后的图像,如下图,其中右边为图像,左边为参数值,参数置信区间等拟合信息。可以看到,拟合程度较之前有了很大的提高 小结:在拟合过程中,设置好待拟合函数的参数的StartPoint,Lower和Upper三者的值可以使拟合更加准确。更多有关cftool拟合效果的问题,可以参看下面这篇文章 http://cn.mathworks.com/matlabcentral/answers/99087-how-do-i-improve-convergence-in-fitting-my-data-with-curve-fitting-toolbox?requestedDomain=www.mathworks.com |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论