MATLAB拟合工具箱函数的使用 您所在的位置:网站首页 MATLAB数据拟合工具箱计算的残差模是什么 MATLAB拟合工具箱函数的使用

MATLAB拟合工具箱函数的使用

2023-09-11 12:31| 来源: 网络整理| 查看: 265

MATLAB拟合曲线的方法有很多,针对不同的函数类型应选用合适的拟合方法。 按照拟合方法来进行划分,一般可将待拟合的函数分为曲线/曲面拟合与多元函数拟合。

曲线/曲面拟合 cftool工具箱使用

曲线曲面拟合多是基于cftool拟合工具箱使用,使用非常方便,但只能对拟合一元、二元函数(当然,可以通过适当的变换对函数进行处理,使其能够在cftool中进行处理)。cftool工具一方面可以在MATLAB的APP中使用,同样也可以在命令窗口中使用。 下面结合MATLAB命令与工具箱选项进行说明: 在这里插入图片描述 拟合方法: 主要是指拟合所采用的函数,如线性拟合,多项式拟合,以及自定义函数拟合等等。具体如下:

Custom Equations 用户自定义函数Expotential e指数函数Fourier 傅立叶函数,含有三角函数Gaussian 正态分布函数,高斯函数Interpolant 插值函数,含有线性函数,移动平均等类型的拟合Polynomial 多项式函数Power 幂函数Rational 有理函数Smooth Spline (光滑插值或者光滑拟合,不太清楚)Sum of sin functions 正弦函数类Weibull 威布尔函数

稳健性Robust:

off:关闭,即采用传统的最小二乘方法进行拟合LAR:Least Absolute Residual(最小绝对残差),以残差平方最小为目标进行拟合。Bisquare:根据距离拟合线的距离加权,有些异常值权重为0,相当于对其进行剔除。

拟合效果评估: 在这里插入图片描述

拟合工具箱对应函数的使用与可视化

拟合工具箱主要涉及的函数有:fit fitype等。 这里以一元线性拟合为例进行说明:

%MATLAB拟合工具箱的使用 xdata = x_fit_4;ydata = y_fit_4; % f = fittype('k*x+b') %采用自定义函数 [fit1, estimate1] = fit(xdata,ydata,'poly1') % 针对原始数据的拟合 fdata = feval(fit1, xdata); % 求得拟合数据 I = abs(fdata-ydata) > 1.5*std(ydata);% 剔除点计算方法outliers = excludedata(xdata, ydata, 'indices', I) % 找到对应的剔除数据点 [fit2, estimate2] = fit(xdata, ydata, 'poly1',... 'Exclude', outliers) % 针对剔除异常点后的拟合 [fit3, estimate3] = fit(xdata, ydata, 'poly1',... 'Robust', 'on') % 采用稳健性拟合 plot(fit1,'r-',xdata,ydata,'k.',outliers,'m*') % 绘制拟合曲线,原始数据,剔除数据点。 hold on plot(fit2,'c--') plot(fit3,'b:')

输出结果如下:

fit1 = Linear model Poly1: fit1(x) = p1x + p2 Coefficients (with 95% confidence bounds): p1 = 1.545 (1.156, 1.933) p2 = 4.901 (3.619, 6.184) estimate1 = 包含以下字段的 struct: sse: 454.1470 rsquare: 0.5046 dfe: 62 adjrsquare: 0.4966 rmse: 2.7065 fit2 = Linear model Poly1: fit2(x) = p1x + p2 Coefficients (with 95% confidence bounds): p1 = 1.517 (1.186, 1.847) p2 = 4.718 (3.625, 5.812) estimate2 = 包含以下字段的 struct: sse: 317.3518 rsquare: 0.5838 dfe: 60 adjrsquare: 0.5768 rmse: 2.2998 fit3 =

Linear model Poly1: fit3(x) = p1*x + p2 Coefficients (with 95% confidence bounds): p1 = 1.513 (1.145, 1.881) p2 = 4.712 (3.498, 5.927) estimate3 = 包含以下字段的 struct: sse: 407.4742 rsquare: 0.5555 dfe: 62 adjrsquare: 0.5484 rmse: 2.5636

在这里插入图片描述 进一步采用绘图窗口的Prediction bounds for function 绘图选项可以得到函数拟合的边界图如下: 在这里插入图片描述

多元函数拟合

多元函数的拟合,建议一般先将其转换为线性拟合方式,具体参考我的另外一篇博客 MATLAB求解模型待定系数

参考文献

拟合工具箱的使用



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有