MATLAB從EXCEL中讀取資料做曲線擬合(polyfit)

來源:酷知科普網 1.13W

本文基於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張
熱門標籤