2013-01-22 36 views
1

我使用优化算法为特定功能找到最佳形状。我让程序在每次迭代中向我显示当前的数字,以查看一切进展情况。问题是,在程序工作时我无法做任何事情(程序需要5-10分钟才能完成),因为图形一直在弹出,如果我正在写东西,例如,窗口焦点在matlab图。将Matlab图形保存在背景中

当图形变化时,可以保持matlab图形不在最前面?例如,我使用双显示器设置,并将图形移至第二台显示器。这个数字可以改变,而不会改变我工作的当前窗口的焦点吗?

+0

除了是一个类似的问题,第一个评论中的链接有一个答案,描述了一个很好的解决方案,您的问题。看看那里! – tmpearce

+0

@tmpearce:谢谢。我自己也找到了类似的东西,但我最初并没有使用正确的术语进行搜索。 –

回答

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) 

还有this option禁用整个图形窗口而一些处理正在发生......

+1

谢谢你的回答。我想你说的是数字窗口的位置,但是我更关注盗窃的重点。 –