如何调用matlab中cftool工具里返回的值

发布网友

我来回答

3个回答

热心网友

数据准备:
我们以一组多项式数据为例,进行示例,假如多项式是y=4x^3+3x^2+2产生的数据,x取0到3之间间隔为0.3的数。具体数据如下:

调用工具箱:
关于如何调用工具箱我在其他经验中有详细的介绍,有兴趣的可以查看。
这里我们用命令cftool进行调用拟合工具箱,在MATLAB主窗口中输入 cftool 回车
可以看到如下拟合工具箱界面

拟合操作步骤:
首先我们将要拟合的数据选入到工具箱中,如下图,在红圈处,点击向下三角,分别将要拟合的x y 选入,然后点击右侧的最上方的下三角,然后选择polynomial( 多项式),下面的degree是阶数,也就是x的最高次数,选择不同的degree,在图的左下角是拟合的结果,包括拟合的系数以及方差相关系数等,右侧是数据点,以拟合曲线。

结果分析:
我们拟合的时候,一般情况下不知道要拟合的多项式是几阶的,我们一般调节degree都是从1逐渐增大,只要精度符合要求,就可以了,并不是精度越高越高。
拟合结果说明:
Linear model Poly3:
f(x) = p1*x^3 + p2*x^2 + p3*x + p4
Coefficients (with 95% confidence bounds):
p1 = 4 (4, 4)
p2 = 3 (3, 3)
p3 = 4.593e-15 (-3.266e-14, 4.185e-14)
p4 = 2 (2, 2)

Goodness of fit:
SSE: 2.386e-28
R-square: 1
Adjusted R-square: 1
RMSE: 5.839e-15
从以上可以看到最终拟合的y关于x的函数为:
f(x)=4*x^3+3*x^2+4.593e-15*x+2
我们可以看到一次项的系数为4.593e-15,实际上就是4.593*10^(-15),这个数量级完全可以认为是0,所以拟合的结果我们认为是:
f(x)=4*x^3+3*x^2+2
这里的方差SSE数量级为10的负28次方,相关系数 R-square=1,说明拟合的结果很好。

热心网友

cftool是拟合工具箱,用y=a+bx拟合数据的话可以直接用polyfit

p=polyfit(x,y,1);

这里的p是拟合系数的向量
其中p(1)=b,p(2)=a

polyfit是多项式拟合函数,那个“1”,表明是拟合1次多项式

热心网友

楼主,你最后是怎么调用cftool工具箱里的值的呀?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com