2014-11-05 31 views
0
Strip = [-2.0650, -3.2540, -4.4145, -5.4490, -6.3575, -7.2380, -8.1185, -8.9995, -9.8805, -10.7615, -11.6420, -12.5225, -13.4035, -14.1520, -14.7675, -15.3830]; 
YA = [-1.103, -2.586, -3.724, -4.981, -5.997, -7.134, -8.271, -9.407, -10.545, -11.682, -12.818, -13.955, -15.69]; 
% 
DFZ = [ 1184.31, 1526.26, 762.50, 562.81, 359.21,  250.49,  180.48, 110.95,  73.79,  48.42, 30.62, 23.56,  4.03; 
       746.64, 1310.41, 952.00, 649.05, 462.94,  307.50,  209.61, 127.17,  81.29, 52.38,  32.17, 24.46,  5.87; 
       471.84, 977.42, 946.58, 774.77, 494.69, 321.74, 214.50, 127.93,  80.13,  50.67, 30.56, 22.53,  5.27; 
       305.12, 610.90, 657.14, 730.46, 510.09,  302.22,  198.04, 115.46,  70.76,  43.97, 25.98, 18.45,  3.78; 
       241.27, 470.64, 469.33, 625.56, 598.09,  369.79,  225.75, 128.23, 76.21, 46.15, 26.48, 18.55,  3.66; 
       203.92, 393.14, 373.35, 484.21, 590.13,  487.48,  289.38, 156.48, 90.26, 52.59, 29.20, 20.16,  4.07; 
       172.49, 329.92, 304.57, 370.21, 476.58,  542.99,  403.83, 202.30, 112.69, 63.06,  33.62, 22.00,  4.71; 
       145.30, 277.10, 251.22, 295.10, 357.11,  468.45,  518.32, 287.29, 148.14, 79.56,  40.13, 24.65,  5.10; 
       122.14, 233.34, 208.52, 240.30, 275.85,  344.08,  503.98, 410.61, 210.72, 105.57,  50.03, 28.81,  5.52; 
       102.56, 196.41, 172.98, 196.53, 218.95,  252.62,  375.33, 470.42, 320.77, 148.75,  66.14, 35.36, 6.22; 
       84.73, 162.98, 141.44, 158.99, 173.43,  190.78,  257.28, 377.15, 436.28, 228.33,  91.72, 45.02,  7.26; 
       69.70, 134.30, 115.17, 128.64, 138.52,  147.27,  187.27, 247.97, 395.45, 359.38, 144.13, 63.30, 9.31; 
       56.51, 108.89, 92.50, 102.78, 109.86,  114.13, 139.44, 170.85, 255.10, 387.73, 255.91, 100.24, 12.92; 
       30.85, 59.730, 50.24, 55.57, 59.00,  60.25, 71.91, 84.427, 115.63, 201.32, 224.63, 109.67, 12.29; 
       23.27, 45.200, 37.68, 41.61, 44.03,  44.35,  52.19, 59.597,  77.19, 126.73, 200.29, 149.32, 15.32; 
       16.60, 32.364, 26.74, 29.44, 31.11,  30.98,  36.03, 40.255,  50.19,  74.54, 135.16, 173.17, 21.94]; 

Matrix DFZ將參數映射到(Strip對YA)網格。 我想將它插入(YStrip vs. Ystrip)網格。下面的代碼返回,這似乎是OK的回答:interp2與octave 3.6.2產量不適用

[x, y] = meshgrid(YA,Strip); 
[z, w] = meshgrid(Strip,Strip); 
DFZ_Strip = interp2(x,y,DFZ,z,w,"spline") 

當我使用線性插值雖然嘗試同樣的代碼,我得到NA的矩陣。

有關爲什麼線性插值不起作用的任何提示?

+0

octave 4.6.2尚不存在。你應該修改標題。 – ederag 2014-11-08 11:10:56

+0

具有更多標準變量(interp2文檔中的變量)的較小示例會更好。 – ederag 2014-11-08 12:04:34

回答

1

給予interp2的xy應嚴格單調並且增加

例如隨xy

x_ = [-1.5 -2.5]; 
y_ = [-1 -2 -3]; 
[x__, y__] = meshgrid(x_, y_); 
z__ = x__ + y__; 

xi_ = x_; 
yi_ = x_; 

[xi__, yi__] = meshgrid(xi_, yi_); 
# zi__ = interp2(x__, y__, z__, xi__, yi__, "spline") 
zi__ = interp2(x__, y__, z__, xi__, yi__, "linear") 

一個得到

zi__ = 

    -3 NA 
    -4 NA 

的解決方法是排序xy和重新排列z相應:

x_ = [-1.5 -2.5]; 
y_ = [-1 -2 -3]; 
[x__, y__] = meshgrid(x_, y_); 
z__ = x__ + y__; 
# sort x and y and reorder z accordingly 
[x_sorted_, idx_x_] = sort(x_); 
[y_sorted_, idx_y_] = sort(y_); 
x__ = x__(idx_y_, idx_x_); 
y__ = y__(idx_y_, idx_x_); 
z__ = z__(idx_y_, idx_x_); 

xi_ = x_; 
yi_ = x_; 

[xi__, yi__] = meshgrid(xi_, yi_); 
# zi__ = interp2(x__, y__, z__, xi__, yi__, "spline") 
zi__ = interp2(x__, y__, z__, xi__, yi__, "linear") 

然後獲得正確的結果:

zi__ = 

    -3 -4 
    -4 -5 
+0

已提交錯誤報告:https://savannah.gnu.org/bugs/index.php?436060。 – ederag 2014-11-08 12:44:51