1

我使用优化算法为某个功能找到最佳形状。我让程序在每次迭代时向我显示当前数字,以查看一切进展情况。问题是程序运行时我不能做任何事情(程序需要 5-10 分钟才能完成),因为图形一直在顶部弹出,例如,如果我正在写一些东西,窗口焦点会在matlab图。

当图形发生变化时,是否可以保持 matlab 图形不在顶部?例如,我使用双显示器设置,并将图形移动到第二个显示器。可以在不改变我工作的当前窗口的焦点的情况下改变图形吗?

4

1 回答 1

1

不会使用OuterPosition做的伎俩?这是一个应将图形保持在屏幕右上角三分之一的示例:

scnsize = get(0,'ScreenSize'); % get screen size
fig1 = figure;
position = get(fig1,'Position')
outerpos = get(fig1,'OuterPosition')
borders = outerpos - position
edge = -borders(1)/2;
pos1 = [scnsize(3)/2 + edge,...
    scnsize(4) * (2/3),...
    scnsize(3)/2 - edge,...
    scnsize(4)/3];

通过更改其OuterPosition属性重新定位图形:

 set(fig1,'OuterPosition',pos1) 

还有这个选项 可以在进行某些处理时禁用整个图形窗口....

于 2013-01-22T11:26:02.867 回答