Matlab學習 6 資料插值 曲線擬合(精)

2021-10-02 19:31:27 字數 1935 閱讀 2430

一般地,從各種試驗得來的資料總是有一定的數量,而利用插值技術能夠從有限的資料中獲取系統整體的狀態,因此,資料插值在各行各業,特別是訊號處理領域內有著廣泛的應用。

matlab提供了常用的各種資料插值計算的函式——

注:較常用的就是進行基本插值的interp系列函式。其中interp1和interp1q函式比較起來,後者在處理x為單調遞增的向量,y為列向量或者行數同x向量長度的矩陣進行插值計算的時候,速度較快,而且僅能進行線性插值。

★ interp1函式一般的用法為

yi = interp1(x, y, xi, method)

%其中:x和y為原始資料。xi為需要計算的插值點。

method可以為插值計算指定相應的演算法,為字串型別,其取值可以為nearest、linear、spline、cubic、pchip、v5cubic。

在interp系列函式中,method引數的幾種不同取值分別對應了不同的插值計算方法。例如linear為線性插值演算法,它也是系統預設的插值演算法,而spline為三次樣條插值演算法。

%具體操作上網自學,這裡ppt看不懂了…

曲線擬合需要從一些離散的資料中推導出兩者之間的數學解析關係,而資料插值是通過原始資料計算一些新的離散資料點。

列印出原始資料圖——

除了多項式以外,還可以猜測原始資料的多項式是由指數函式組成的

於是,為了求得係數,可以在matlab的命令列中鍵入下面的指令:

x = [ones(size(t)) exp(-t) t.*exp(-t)]

a = x\y

這樣得到的多項式應該為:

對比上面兩個例子可以看出——在兩次的曲線擬合結果中,利用指數函式擬合的結果比較好。故選擇指數函式的擬合結果!

此外,還有一種曲線擬合的方法是多項式擬合

在matlab中,進行多項式擬合主要使用兩個函式:polyfit和polyval。

polyfit函式主要用來進行擬合計算,它的基本語法為

p = polyfit(x,y,n)

%其中,x和y為參與曲線擬合計算的原始資料,n為進行擬合計算的多項式次數,函式的返回值是多項式的係數,也就是說,函式的運算結果為多項式的係數向量。

MATLAB資料插值和曲線擬合

在工程測量和科學實驗中,所得到的資料通常是離散的。如果要得到這些離散點以外的其他點的數值,就需要根據這些已知資料進行插值。根據被插值函式的自變數個數,插值問題分為一維插值 二維插值和多維插值等 根據是用分段直線 多項式或樣條函式來作為插值函式,插值問題又分為線性插值 多項式插值和樣條插值等。如果被插...

matlab 資料插值

對資料進行加密 疏密程度 滿足繪圖要求 yi interp1 x,y,xi,method yi為插值結果,x,y為插值節點,xi為被插值點 method 插值方法 nearest 最臨近插值 linear 線性插值 spline 三次樣條插值 cubic 立方插值 預設 分段線性插值 tips x必...

MATLAB資料插值

yi interp1 x,y,xi,method 其中,x y為已知的資料點,xi為想要插值資料點的橫座標,返回對應的縱座標yi。method為插值方法,總共有四種。nearest 最近鄰點插值,即若x ix i xi 離x xx最近,則yi yy i y yi y linear 線性插值,即插值的...