資料擬合的目的是使用乙個較為簡單的函式去逼近乙個複雜的、未知的函式,在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...