matlab中的interp2插值函式

2021-08-28 01:11:59 字數 2496 閱讀 2033

看了好多文章才大體明白插值的含義,(⊙﹏⊙)b,這理解能力也是醉了.....為了記住這個慘痛教訓,在吃飯前要把看到的文章總結一下~~

interp2

功能 二維資料內插值

格式(1)zi = interp2(x,y,z,xi,yi)

好多文章裡巴拉巴拉說了一堆,迷迷糊糊的,我還是用我的大白話敘述一下:

x,y是原始資料,相當於座標,類似於meshgrid的座標範圍,這麼說應該很容易理解......

z是在上述座標下的數值,也就是在座標[xi  yi]下的zi

xi,yi就是用於插值的座標,

返回值zi就是用於提取插值之後,對應位置的值

這裡需要注意:

x 與y必須是單調的

若xi與yi中有在x與y範圍之外的點,則相應地返回nan(not a number)

下面是其他形式的解釋,這個我就直接copy啦~~

(2)zi = interp2(z,xi,yi)

預設地,x=1:n、y=1:m,其中[m,n]=size(z)。再按第一種情形進行計算。

(3)zi = interp2(z,n)

作n次遞迴計算,在z的每兩個元素之間插入它們的二維插值,這樣,z的階數將不斷增加。

interp2(z)等價於interp2(z,1)。

(4)zi = interp2(x,y,z,xi,yi,method)

用指定的演算法method 計算二維插值:

』linear』:雙線性插值演算法(預設演算法);

』nearest』:最臨近插值;

』spline』:三次樣條插值;

』cubic』:雙三次插值。

總之,插值是根據已知的去推測未知,x,y是已知的位置,xi,yi是未知的位置(當然也可以包含已知點,i表示interp,實際命名已經很清楚了)

下面,是乙個copy的例子:

(這裡,為了更清楚的觀測原始資料和插值資料之間的關係,我把它畫出來應該更直觀一些......)

years = 1950

:10:1990

;service = 10:10:30

;wage = [ 150.697

199.592

187.625

179.323

195.072

; 250.287

203.212

179.092

322.767

226.505

;153.706

426.730

249.633

120.281

598.243

];[x, y

] = meshgrid(years, service);

% % 三維曲線

% plot3(x, y, wage)

% 三維曲面

插值結果為:

w = 190.6288

(自加:

空間插值常用於將離散點的測量資料轉換為連續的資料曲面,以便與其他空間現象的分布模式進行比較,它包括的空間內插和外推兩種演算法。

空間內插演算法:通過已知點的資料推求同一區域的其他未知點的資料;

空間外推算法:通過已知區域的資料推求其他區域的資料;

空間插值主要有三個方面的意義:

預設估計:如何在沒有測點的地區得到我們需要的資料,或者由於自然或人為的原因,缺少某天或某個時段的資料。

內插等值線:形象直觀地顯示空間資料分布平面等值線圖。

資料格網化:以不規則點圖元組織的z變數的資料,並不適用於圖形顯示,也不適用與分析。多數空間分析要求將z值轉化為乙個規則間距空間格網,或者轉化成不規則三角形網。規則格網資料能更好的顯示空間資料連續分布。

Matlab中interp2和interpn的差異

我最近在matlab中用到插值法,看起來有interp1 2 3和interpn這兩個函式可以用。然而,我驚訝地發現,這兩類函式不是等價的 interp1和interpn是等價的,結果都是1584 interp1 1,2 0,14317 1.1107 1584 interpn 1,2 0,14317...

Matlab中二維插值interp2函式的使用

問題 已知m n個節點 xi,yi,zij i 1,2,3.m,j 1,2,3.n,且x1對上述問題,matlab中提供了二維插值函式interp2,其基本格式為cz interp2 x,y,z,cx,cy,method 其中x和y是自變數。x和y的分量值必須是單調遞增的。x,y,z的值是已經知道的...

MATLAB實現線性插值interp1的功能

1.關於插值 插值,它根據已知的資料序列 也可以理解為座標中一連串離散的點 找到其中的規律 然後根據找到的這個規律,來對其中尚未有資料記錄的點進數值的估計。2.關於線性插值 線性插值是一種針對一維資料的插值方法,它根據一維資料序列中需要插值的點的左右鄰近兩個資料點來進行數值的估計。當然了它不是求這兩...