MATLAB中的曲线拟合

MATLAB中的曲线拟合

曲线拟合是为给定的数据找到一个合适的方程的方法,也可以说是在一些随机数据中找到一个模式。本文的目的是学习使用MATLAB进行曲线拟合,因此,希望读者有数学方面的曲线拟合知识。

曲线拟合的步骤

第1步: 在MATLAB中打开一个新的脚本,用所需的名称保存,以保持程序的可重复使用。

第2步: 如果你有一个数据文件,那么就按照这个步骤进行,否则就转到第4步。通过进入菜单中的 “主页 “部分,然后点击导入数据,导入数据文件。

MATLAB中的曲线拟合

一个像下面这样的新窗口将被打开。首先,选择数据类型为列向量,选择你想添加的列,然后,点击右上角的导入数据。

MATLAB中的曲线拟合

现在,导入工作已经完成,我们将转入装配部分。

第3步: 创建2个变量,并将其分配给上一步导入的两个列。你可以在左下方的工作区看到这些列向量的名称。

MATLAB中的曲线拟合

第4步: 为了学习的目的,我们将使用两个向量x_data和y_data,它们是在脚本中创建的,而不是从数据文件中导入的。然而,在前面的步骤中已经说明了如何将数据导入脚本文件。现在使用polyfit命令来获取通过拟合得到的方程的系数。

语法:

coeffs=polyfit(<independent_data>, 
<dependent_data>, <degree_of_equations>) 

第5步: 现在我们已经得到了一个存储在coeffs中的多项式。接下来,我们将评估它在x_data中每个点的值。这可以通过polyval命令来完成,它在每个给定的数据点或范围内评估多项式。

plt=polyval(<polynomial>,<data/data_range>)

第6步: 现在,只需用新的多项式和原始数据绘制图表。要把它们都绘制在同一个图形中,可以使用保持命令,如下所示。

示例:

/* MATLAB code for curve fitting */
  
clear
  
/* Input the value of X and Y */
  
x_data=[1,3,5,7,9,11,13,15];
y_data=[4,9,23,37,73,103,133,179];
  
coeffs=polyfit(x_data,y_data,5);
  
plt=polyval(coeffs,x_data);
  
plot(x_data,plt,'r');
  
hold on
  
plot(x_data,y_data,'o');
xlabel('X_ data')
ylabel('Y_ data')
title('Polynomial fitting')
  
hold off

输出:

MATLAB中的曲线拟合

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程