您的位置首页百科问答

MATLAB从EXCEL中读取数据做曲线拟合(polyfit)

MATLAB从EXCEL中读取数据做曲线拟合(polyfit)

的有关信息介绍如下:

MATLAB从EXCEL中读取数据做曲线拟合(polyfit)

本文基于MATLAB,首先使用xlsread( )从EXCEL中读取数据,然后根据读取的数据使用polyfit做三阶拟合,最后将数据散点图与拟合曲线画在一起。

第一,EXCEL中的数据。

13.00 23.11 64.83 24.39 92.85 66.24 75.59 97.91 117.20 150.46

第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:

close all; clear all; clc

data=xlsread('abc.xlsx',1);

x=1:1:10;

y=polyfit(x,data,3)

plot(x,data,'linestyle','none','marker','.','markersize',35)

其中xlsread('abc.xlsx',1)是从EXCEL表格abc.xlsx中读取数据,y=polyfit(x,data,3)是对EXCEL中的数据(因变量)与自变量x进行3阶拟合。plot(x,data,...)是绘制data的散点图。

第三,保存和运行上述代码,在命令行窗口得到如下拟合结果。

y =0.3944 -5.8928 36.5111 -20.6923

也就是说,3阶拟合结果为:

y=0.3944*x.^3-5.8928*x.^2+36.5111*x-20.6923;

第四,同时得到EXCEL数据的散点图如下。

第五,在第三步中获得了3阶拟合结果y =0.3944 -5.8928 36.5111 -20.6923,下面编写代码把拟合曲线与数据散点图画在一起,比较一下拟合效果。接着输入以下代码:

hold on;

yy=0.3944*x.^3-5.8928*x.^2+36.5111*x-20.6923;

plot(x,yy,'-r','linewidth',2)

第六,保存和运行上述脚本,最终得到如下图形,数据散点图与拟合出的3阶曲线图放置在一起,从而能够很好的发现拟合效果。