gpt4 book ai didi

matlab - 如何控制显示哪些监视器图?

转载 作者:行者123 更新时间:2023-12-02 20:54:13 26 4
gpt4 key购买 nike

我有一个运行 MATLAB 的 3 显示器 Gentoo Linux 系统。 MATLAB 在中央显示器上运行。我需要 MATLAB 在左侧监视器上生成绘图,但它总是在右侧监视器上绘图。

我相信这至少部分是由于我对显示器进行物理排列的非标准方式造成的 - 基本上是 2,3,1:

>> get(0,'MonitorPositions')

ans =

1 1 1920 1080
-3839 1 1920 1080
-1919 1 1920 1080

有没有办法可以在 MATLAB 中将其默认控制?

最佳答案

您可以set the default figure positionroot object像这样:

set(0, 'DefaultFigurePosition', [-3839 1 1920 1080]);

这将创建默认填充左显示器的窗口。但是,每次重新启动 MATLAB 时,此默认值可能会重置,因此您必须将其放入 startup 中。文件,如果您希望它在 session 之间持续存在。

注意:documentation for the 'MonitorPositions' property根对象的内容是这样的:

The first two elements in each row indicate the display location with respect to the origin point. The last two elements in each row indicate the display size. The origin point is the lower-left corner of the primary display.

如果更改用作主显示器的显示器,左侧两列中的相对坐标将会更改,这意味着您必须更改上面代码行中的位置值。如果您认为显示设置可能经常更改,或者您将在不同的监视器设置上运行代码,那么您可以通过在左列中查找具有最低值的监视器位置来确保绘图始终出现在最左侧的监视器上。以下是您可以执行此操作的方法(还包含先前的默认窗口大小和监视器内的位置):

monitorPos = get(0, 'MonitorPositions');
figurePos = get(0, 'DefaultFigurePosition');
[~, leftIndex] = min(monitorPos(:, 1));
set(0, 'DefaultFigurePosition', figurePos + [monitorPos(leftIndex, 1:2)-1 0 0]);

关于matlab - 如何控制显示哪些监视器图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41023027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com