2012-01-18 10 views
1

One side should look like this, depending upon temperature values a smooth descriptionenter image description here私は3D矩形内の特定の点にデータを持ち、温度勾配を見たいと思っています。私は特定のポイントで値を持っていますが、私は各センサー間に連続した勾配の流れが必要です。私は、異なるポイントに配置された各センサー間でデータを視覚化またはマッピングする方法を理解することができませんでした。 :(stuckedすぐ下matlabを使って温度勾配を可視化/プロットする方法はありますか?

X=[5 0 0 0 0 5 10 10 10 10 0 5 10 10 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 5 10 0 5 10 10 10 5 0 0]'; 
Y=[10 10 5 5 10 10 5 10 5 10 0 0 0 0 0 0 3.5 7 3.5 7 3.5 7 3.5 7 3.5 7 3.5 7 3.5 7 3.5 7 0 0 0 0 0 0 5 10 10 10 5 ]'; 
Z=[20 20 20 14 14 14 14 14 20 20 20 20 20 14 14 14 3.8 3.8 0 0 7.5 7.5 10 10 12.5 12.5 15 15 17.5 17.5 20 20 0 0 0 7.5 7.5 7.5 7.5 7.5 7.5 7.5 7.5]'; 
%# temperature vector 
T = [20 22 24 22.1 26.1 22.4 15 17 21 22 19 22 18 17 18 20 21 22 21 24 22.3 22.5 22.8 28.9 22 27 26 20 19 24 21 23 19 18 22 25 27 21 29 25 22 21 22]; 
scatter3(X,Y,Z,[4000],T,'.'); 
grid off 
box off 
view(32,18); axis equal tight off vis3d; % azimuth 26 
camproj perspective 
camlight; lighting gouraud; alpha(0.75); 
rotate3d on 

コードは、3D長方形の私の片側には、次の2つのサブ問題にダウン問題を破ることができる

datagrid = 500*peaks(100); 
R = makerefmat('RasterSize',size(datagrid)); 
[aspect,slope,gradN,gradE] = gradientm(datagrid,R); 
figure; axesm eqacyl 
meshm(datagrid,R) 
colormap (jet(64)) 
colorbar('vert') 
title('Peaks: elevation') 
axis square 
+0

あなたのサンプルコードは私にとっては機能しません(Matlab 2008)、間違っています。 makerefmat()への引数の数。 – Niclas

+0

私はイメージの希望のフォームをアップロードした、私はそれも私も画像をアップロードすることができます知っていませんでした – mirage

+0

ありがとうジョン..あなたは本当に私の問題を解決した。私はそれについて考えなければならないことがもう1つあります.3Dの矩形内に温度値があるので、透明なビューが必要なので、3Dの矩形の内側には傾けません – mirage

答えて

1

(そのわずかランダムコード)のようになります方法を示しています。

  • 補間
  • 可視化

最初に補間を見てみましょう。多くの方法がありますが、MATLAB関数griddatanを試してみましょう。これは、新しいポイントのセット(ここでは私はmeshgridを使用して構築された通常のグリッドを使用しました)に値を補間します(直線的に)。

M = 20; 
N = 20; 
L = 40; 

T = transpose(T); 

% Set up the grid of points we wish to interpolate at 
[xi,yi,zi] = meshgrid(linspace(0,10,M),linspace(0,10,N),linspace(0,20,L)); 

% Perform interpolation 
ti = griddatan([X,Y,Z],T,[xi(:),yi(:),zi(:)]); 

% Reshape back from a column vector to a MxNxL matrix 
ti = reshape(ti, size(xi)); 

% Visualise in some way 
scatter3(xi(:),yi(:),zi(:),400,ti(:),'.') 

視覚化に関しては、空は限界であり、3Dボリュームの視覚化は科学よりも芸術です。私はあなたの例を実行することはできません(私はmakerefmatへのアクセス権がありません)が、http://www.mathworks.co.uk/help/techdoc/visualize/bqliccy.htmlには良い出発点があります。

関連する問題