0
我有一組點,它們顯示空間某些座標上的速度矢量。我想要有可視化我的數據集的矢量場圖。你能告訴我如何在MATLAB中做到這一點?一組點和矢量場
我有一組點,它們顯示空間某些座標上的速度矢量。我想要有可視化我的數據集的矢量場圖。你能告訴我如何在MATLAB中做到這一點?一組點和矢量場
假設它是二維測量,您可以從「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)])