2016-10-22 6 views
0

私はいくつかの座標の座標に速度ベクトルを表示するポイントのセットを持っています。私は私のデータセットを視覚化するベクトルフィールドプロットを持っています。 MATLABでどうすればいいのですか?ポイントとベクトルフィールドのセット

答えて

0

2次元測定であれば、測定した各座標にドットをプロットすることから始めて、「scatter(x、y)」で開始できます。我々はすぐにわかるように、あなたはあなたの最初と最後の測定を使用しないので、それは次のようになります。

scatter(x(2:end-1), y(2:end-1)) 

次は、各ベクトルの方向が必要になります。あなたの測定頻度が十分に高い場合、数値的な微分はあなたに正しい結果を与えるはずです。 "diff(vec)"は隣接点間の差のベクトルを返します。しかし、あなたがすることによって得ることができ、「平均的」誘導体、おそらく必要があります

dy = diff(y) 
dx = diff(x) 
% to be able to differentiate even when dx=0, will replace 0 with a very small number 
for i=(dx == 0) 
    dx(i) = eps 
der = dy/dx 

avg_der = (der(1:end-1) + der(2:end))/2 

、あなたが描くことができますので、することにより、各ポイントの右側誘導体を得ることができますdx = dx/normalization_size、dy = der * dx/normalization_sizeで描画した各点の線。線をプロットすることができます。

for i=1:length(avg_der) 
    line([x(i+1) (x(i+1) + mean(dx(i:i+1))/NORMALIZATION)], [y(i+1) (y(i+1) + avg_der(i) * mean(dx(i:i+1))/NORMALIZATION)]) 
関連する問題