MATLAB資料擬合

2021-08-03 14:37:14 字數 1629 閱讀 8342

資料擬合的目的是使用乙個較為簡單的函式去逼近乙個複雜的、未知的函式,在matlab中資料擬合的原理是最小擬合的最小二乘原理,其中polyfit與polyval是最基本的擬合方法,除此之外,matlab還提供了更為直接簡單的資料擬合工具,cftool,下面舉乙個例子,介紹這兩種資料擬合的方法。

%%資料表:

>> t=1:10;

>> y=[9.6,4.1,1.3,0.4,0.05,0.1,0.7,1.8,3.8,9.0];

使用polyfit與polyval命令:

首先,polyfit函式的呼叫格式:

p=polyfit(x,y,n)

[p,s]=polyfit(x,y,n)

[p,s,mu]=polyfit(x,y,n)

函式將根據取樣點x和取樣點的函式值y,產生乙個n次的多項式p,s為取樣點的誤差向量

,mu(1)是mean(x)(平均值),mu(2)是std(x)(方差)。

>> p=polyfit(t,y,2)

p = 0.4561 -5.0412

13.2533

>> ti=1:0.5:10;

>> yi=polyval(p,ti)

yi =

columns 1 through 15

8.6682

6.7177

4.9952

3.5007

2.2342

1.1958

0.3855 -0.1969 -0.5512 -0.6775 -0.5758 -0.2460

0.3118

1.0977

2.1115

columns 16 through 19

3.3534

4.8233

6.5213

8.4473

>> plot(t,y,':o',ti,yi,'-*')

在上述例子中,根據取樣點數值的特點,我們採用二次函式擬合,返回p是該二次函式的三個係數,然後採用polyval函式ti各點上的函式近似值接下來就是plot繪圖函式了。

2.使用cftool擬合工具箱

使用cftool擬合工具箱就要簡單多了,而且功能還很強大,輸入開啟工具箱的指令:

>>cftool
如下圖:

使用時在左側選擇相應的x data,y data 然後選擇相應的擬合函式方式就可以了,下圖中紅色方框中就是需要選擇的內容,這裡選擇polynomial(多項式形式),degree選擇「2」,就可以在下面看到函式影象了,除了選擇多項式函式之外,我們還可以選擇指數函式等等形式。

在這裡這是乙個簡單的例子,cftool擬合工具箱功能很強大,還可以對三維的函式、高斯擬合、指數函式擬合等。

matlab 資料擬合

polyfit x,y,n 多項式擬合,返回降冪排列的多項式係數。polyval p,xi 計算多項式的值 function example x y p polyfit x,y,3 xi 0 0.2 10 yi polyval p,xi plot xi,yi,x,y,r end 也可以用plot x...

matlab 資料擬合

資料擬合又稱曲線擬合,俗稱拉曲線,是一種把現有資料透過數學方法來代入一條數式的表示方式。科學和工程問題可以通過諸如取樣 實驗等方法獲得若干離散的資料,根據這些資料,我們往往希望得到乙個連續的函式 也就是曲線 或者更加密集的離散方程與已知資料相吻合,這過程就叫做擬合 fitting a polyfit...

MATLAB中資料資料擬合

x0,y0是原始資料 x0 1790 10 2000 y0 3929214,5308483,7239881,9638453,12866020,17069453,23191876,31443321,39818449,50189209,62979766,76212168,92228496,1060215...