当前位置:趣知科普网>游戏数码>电脑>

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

电脑 阅读(1.28W)

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

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

操作方法

(01)第一,EXCEL中的数据。13.00  23.11  64.83  24.39  92.85  66.24  75.59  97.91  117.20  150.46

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

(02)第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:close all; clear all; clcdata=xlsread('',1);x=1:1:10;y=polyfit(x,data,3)plot(x,data,'linestyle','none','marker','.','markersize',35)其中xlsread('',1)是从EXCEL表格中读取数据,y=polyfit(x,data,3)是对EXCEL中的数据(因变量)与自变量x进行3阶拟合。plot(x,data,...)是绘制data的散点图。

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

(03)第三,保存和运行上述代码,在命令行窗口得到如下拟合结果。y =0.3944   -5.8928   36.5111  -20.6923也就是说,3阶拟合结果为:y=0.3944*x.^3-5.8928*x.^2+36.5111*x-20.6923;

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

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

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

(05)第五,在第三步中获得了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)

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

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

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