【MATLAB】数据拟合 您所在的位置:网站首页 拟合函数工具有哪两种形式 【MATLAB】数据拟合

【MATLAB】数据拟合

2024-07-13 16:21| 来源: 网络整理| 查看: 265

多项式阶数N的确定

我们在拟合数据的过程中,事先不知道要拟合的数据是几阶的,那我们如何确定给定的拟合阶数N最终为多少呢?

阶数确定方法一:

这种方法是最常用的确定方法,一般情况下,我们拟合函数的目的,就是为了调用,所以在用函数拟合之前会用matlab曲线拟合工具箱进行拟合函数阶数的确定,由其确定拟合的阶数,然后我们用这个函数命令在其他地方进行十分方便地调用,这是最常用的做法。我们往往拟合的是多个同类型的数据,所以确定好一组样本的次数之后,就可以对其他数据用同样的N进行拟合。

使用方法:

Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。 假设要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0。 1、在命令行输入数据:>> x=0:0.01:1;ya=(x.^2-3*x+5).*exp(-5*x).*sin(x);>> cftool 2、启动曲线拟合工具箱 》cftool 3、进入曲线拟合工具箱界面“Curve Fitting tool” (1)点击“Data”按钮,弹出“Data”窗口; (2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然后点击“Createdata set”按钮,退出“Data”窗口,返回工具箱界面cf,这时会自动画出数据集的曲线图; (3)点击“Fitting”按钮,弹出“Fitting”窗口; (4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Dataset”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型

阶数确定方法二:

这种方法方法可以取代用cftool进行判断的过程,具体实现代码如下:

for i=1:5

    y2=polyfit(x,y,i);

    Y=polyval(y2,x);%计算拟合函数在x处的值。

    if sum((Y-y).^2)> for i=1:5 y2=polyfit(x,ya,i); Y=polyval(y2,x);%计算拟合函数在x处的值。 if sum((Y-ya).^2)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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