簡體   English   中英

八度:3D插值繪圖結果

[英]Octave: Plotting results of 3D interpolation

我想繪制一個表面,該表面的仰角是對分散數據進行3D插值的結果:我在三個列向量中都有x,y,z坐標和標量值v。 我想在一個x坐標為xi,yi,zi的常數x平面上進行插值,以獲取vi並最終繪制表面(yi,zi,vi)。 我怎樣才能做到這一點?

這里說到我發現,由於對#octave IRC頻道和Nicola andy1978的解決方案:

x1 = linspace (min(x),max(x),50) ;
y1 = linspace (min(y),max(y),50) ;
z1 = linspace (min(z),max(z),50) ;
[xx, yy, zz] = meshgrid (x1, y1, z1) ;

vv = griddata3 (x, y, z, v, xx, yy, zz ) ;

x0 = 0.05 ;   % constant x of chosen plane

[~,i] = min (abs (x - x0)) ;

vv_sect = vv (:, i, :) ;      % here I slice the matrix of interpolated results at x=x0
vv_out = squeeze (vv_sect) ;  % and this is what I needed to reduce the dimensionality of
                              % the sliced matrix

[yy2,zz2] = meshgrid (y1, z1) ;

surf (yy2, zz2, vv_out ) ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM