可视化高维场箭头?

时间:2010-07-07 04:03:34

标签: python matlab visualization vector multidimensional-array

我有一个很大的元组列表(a,b),其中a和b都是来自同一空间的9维向量。这基本上编码系统的状态和一些转换。我希望将这些元组描述的字段可视化为箭头指向a-> b,无论是2D还是3D。然而,我的一个问题是,这不是一个表现良好的矢量场(不是连续的),但我有理由相信它可以很好地布局,即使在2D中。

有没有人知道可以做到这一点的工具箱(对于matlab / python)或程序?这可能首先涉及a和b上的某种维数减少,然后从一个点到另一个点绘制小箭头。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

我不是100%确定这是否能回答你的问题,但你可能想看看Recurrence Plots。如果这就是您所追求的,那么您将不需要任何额外的Matlab工具箱。

答案 1 :(得分:1)

好的,事实证明MATLAB可以做到这一点,但它不是很漂亮。 它基本上归结为做PCA,然后使用箭头功能进行绘图: 我的矩阵X包含奇数行中高维节点的起始点和偶数行中的结束点。然后:

[COEFF, SCORE]= princomp(zscore(X));

x=SCORE(1:2:end,1);
y=SCORE(1:2:end,2);
z=SCORE(1:2:end,3);
u=SCORE(2:2:end,1);
v=SCORE(2:2:end,2);
w=SCORE(2:2:end,3);

quiver3(x,y,z,u-x,v-y,w-z,0);

缺点是我无法找到一种好的方法来为边缘着色,所以如果我只是简单地做这件事就会弄得一团糟。好吧,现在好了!

答案 2 :(得分:1)

这是一个降维算法的Matlab工具箱。我没有使用它,但我已经使用降维,看起来像一个流形图表/局部坐标算法将能够提取低维表示。

TU Delft Dim. Red. Toolbox