3D 概率流的可视化

计算科学 matlab 可视化 随机 可能性
2021-12-17 17:19:37

我有一个的主方程,其中都是离散的。数值积分是由这个 Matlab程序使用欧拉方法完成的。尽管欧拉方法很粗糙,但数值积分的结果与模拟结果一致,因此程序的正确性不是重点。P(NA+,NB+,NC+,t)NA+,NB+,NC+

我想看看如何随时间演变。由于除了时间之外还有 3 个坐标,因此很难将变化可视化。理想情况下,我想要类似的东西P(NA+,NB+,NC+,t)P(NA+,NB+,NC+,t)

在此处输入图像描述

但是我在 Matlab 中找不到任何可以做类似事情的函数。我能找到的最接近的是 Matlab 的contourslice函数。

通过运行上面提到的 Matlab 程序

ABC_driver(0.5,100,20,200,10,true);

你会得到类似下面的东西:

在此处输入图像描述

在此处输入图像描述

你可以猜到会发生什么,但它远没有原子轨道图那么明显。P(NA+,NB+,NC+,t)

我的问题是,如何以类似于原子轨道密度图的方式或者任何人都可以提出更好的方法来可视化的时间演变?P(NA+,NB+,NC+,t)P(NA+,NB+,NC+,t)

2个回答

像 Visit 和 Paraview 这样的程序可以做“体积渲染”,这就是你在图中显示的内容。您只需要以这些程序中的任何一个都可以读取的格式导出您拥有的数据。

MATLAB 有一个不错的体积渲染工具箱:

http://www.mathworks.com/matlabcentral/fileexchange/22940-vol3d-v2

我认为您可以根据自己的目的对其进行调整。