(每日一练)MATLAB数据拟合

今天就的学习内容是数据拟合。

        数据拟合也称为曲线拟合,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做数据拟合。(抄的官方解释◕✔◕)

        常用的拟合方式是多项式拟合,在MATLAB中使用polyfit函数即可建立N次多项式,代码实现如下:

p = polyfit(x,y,N)

其中x,y分别代表的是传入样本点的横纵坐标数组,N代表构造多项式的次数,p是多项式的系数数组。

        多项式值计算函数为:

z = polyval(p,x)

        我们通过调用polyfit()函数,并用样本点来构造N次多项式p,然后将原有的变量x带入构造的多项式p中得到最后拟合的值z。通俗的来讲就是根据原有点,来构造新的函数,然后再讲原有变量带入新函数中得到新的值。通过以下代码来具体深入:

clc;clear;close all;
x=[0,3,5,7,9,11,12,13,14,15];
y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6];  %定义样本点,x和y个数相等
p=polyfit(x,y,4);  %构造四次多项式
z=polyval(p,x);    %将变量带入多项式中
plot(x,y,'ro',x,z,'b-')
legend('原函数点','拟合曲线','location','nw')

效果图:

(每日一练)MATLAB数据拟合_第1张图片

如果想学习更多的数据拟合方法可以看一看这篇文章 。

以上就是今天的学习内容了。

参考文章:数据拟合(Data Fitting)算法 - 离心的文章 - 知乎
https://zhuanlan.zhihu.com/p/546437540
 

你可能感兴趣的:(MATLAB学习,matlab)