MATLAB從EXCEL中讀取數據做曲線擬合(polyfit)

本文基於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張