在 Matlab 中生成 4D 图

计算科学 matlab 绘图
2021-12-13 10:27:37

我有一些形式的数据:

       X  Y  Z    Amplitude
       0  0  0    0.00
       1  0  0    0.00
       2  0  0    0.00
       3  0  0    0.00
       ...
      27 30  8    0.25
      28 30  8    0.25
      29 30  8    0.25
      30 30  8    0.25

我想在 3D 图中显示它们,振幅以彩色或等值面形状显示。每个向量的元素个数超过8000,所以无法使用meshgrid命令(导致内存不足错误)。

2个回答

由于沿 z 只有 8 个切片,因此将其制作为通过 z 切片的动画并非不合理(z=0 的 xy 绘图,然后 z=1,...)。

即使您尝试制作 4D 情节,您也可能无法看到正面以外的东西。您可以使用透明胶片,但仍然无法查看中间部分。所以你可以在外面绘制。因此,您可以用颜色+一点透明度来绘制盒子的外边缘,而不是完整的网格,然后将前两行向内绘制。这应该可以节省大量内存并且可能能够适应。

或者尝试在 HPC 的大型内存节点上花一些时间。XSEDE 上的一些内容是在考虑可视化的情况下制作的。您也许可以通过Comet 试用分配获得一些时间。