使用Matlab实现离散数据的曲线拟合 您所在的位置:网站首页 matlab数据拟合曲线 使用Matlab实现离散数据的曲线拟合

使用Matlab实现离散数据的曲线拟合

2022-06-11 08:12| 来源: 网络整理| 查看: 265

4.5 (2)

今天,古哥带来如何使用Matlab快速拟合实验数据,得到这些数据所遵循的变换函数。这种方式,一般你需要大概知道自己的实验数据所可能遵循的函数规律。比如是高斯、n次函数等常见函数的曲线自动拟合,甚至可以使用插值方式,自动拟合数据所可能对应的函数规律。

使用Matlab实现离散数据的曲线拟合数据来源

既然要曲线拟合,即拟合你的实验数据,当然需要数据才能拟合。

假如是离散数据,数据量不太多,就可以直接在matlab 命令行或者m文件中手动输入数据。

如果数据在excel中,可以直接使用Matlab导入数据,然后将数据的每一列分别赋值给一个变量即可,下面我们分别举例说明如何导入这些数据。

数据量很少,直接在命令行或者m文件中手动输入,命令如下:

%% 数据导入 clc % 清理命令行窗口 clear % 清理工作区数据 x=[1 2 3 4 5 6]; y1=[1 2 3 4 5 6]; y2=[2 5 10 17 26 37]; y3=[2 96 972 5120 18750 54432]; y4=[1 4 5 8 20 16];

数据是我随便写的,主要是演示下Matlab曲线拟合工具的使用方法。

使用Matlab实现离散数据的曲线拟合

如果数据存在csv文件中,我们可以直接用函数读取,这在上一篇关于Matlab的文章中已经有过相干描述,这里就不再赘述了。

大体上如下:

%% 数据导入 M = csvread('*.csv', 0,0); x=M(:,1); y1=M(:,2); y2=M(:,3); y3=M(:,4); y4=M(:,5);拟合工具调用

这就很简单了,你可以在Matlab命令行窗口中输入cftool直接打开拟合工具,也可以在m文件结尾输入cftool来打开拟合工具:

cftool

打开的窗口如下图所示:

使用Matlab实现离散数据的曲线拟合

接下来就是导入变量了,上图左侧可以看到x data、y data等,这些就是数据导入。前提条件是,你已经运行过上面的数据导入,即数据已经导入到Matlab工作区,才可以在这里导入。也就是,这里是从工作区读取数据。接着,就是拟合公式的选择了,我们使用y3数据和x来拟合,选择一元四次方程拟合(原始数据是六元一次方程产生的,但由于我只有6个数据,无法拟合六元一次方程,要7个数据才可以)。左侧Results区域会直接产生拟合结果,如下图所示:

使用Matlab实现离散数据的曲线拟合

Matlab支持很多拟合方式,一元多次方程、高斯、以及一些经验公式,还可以自定义函数去拟合,看看下面三张图,你就知道有多强大了。

使用Matlab实现离散数据的曲线拟合使用Matlab实现离散数据的曲线拟合使用Matlab实现离散数据的曲线拟合

看完后,你会发现怎么这组数据好多曲线看着都拟合的不错,主要是因为数据量太少,才6组数据。而在实际应用中,往往有很多数据,这样拟合到的函数就会很准确。同时,在实际拟合过程中,你的数据会有误差,但这种情况,往往你会知道数据所遵循的物理规律,所以这种拟合方式,可以很快的帮你得到函数的参数。

共计2人评分,平均4.5分

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/program/matlab-cftool-data.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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