繁体   English   中英

使用 SLURM 设置 Matlab 的显示分辨率

[英]Set display resolution for Matlab with SLURM

我曾经在 HPC 集群上运行一些 Matlab 模拟。

集群运行 SLURM。

我的 Matlab 脚本的输出之一是一个 GIF 文件,它显示了我正在模拟的时间演变。 GIF 文件的每一帧都是通过命令“getframe”获得的,该命令拍摄显示的快照。

当我在我的电脑上运行 Matlab 脚本时,GIF 文件看起来很完美,因为快照具有我电脑的分辨率。 当我在 HPC 集群上运行相同的 Matlab 脚本并通过 SLURM 提交作业时,GIF 文件看起来很糟糕,因为它的分辨率非常低。 毕竟,HPC 集群并没有实际的显示,也许只是一个虚拟的显示。

所以,这是我的问题:我可以在提交作业时更改虚拟显示器的分辨率,以便 Matlab 在模拟期间拍摄的快照看起来很高分辨率吗?

尝试在调用getframe之前添加以下内容:

h = figure;
h.WindowState = 'maximized';

这将确保 window 在捕获快照之前最大化。 然后你应该得到一个更高分辨率的图像。

如果这不起作用,另一种选择是使用print将每个图像保存到磁盘,您可以在其中明确指定分辨率:

print('-dpng', '-r200', filename)

但是随后您将不得不在后续步骤中合并电影中的所有文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM