MATLAB:防止数字被激活

时间:2011-02-23 09:23:08

标签: windows matlab popupwindow

我有一个相当大的例程,可以运行几个小时。在这里和那里它创建一个图形,绘制一些东西并保存该图。

由于我只有一台电脑,我想继续使用该电脑。问题在于,无论何时制作新图形,MATLAB都会再次成为活动应用程序。 有没有办法告诉MATLAB或Windows不允许MATLAB将自己设置为活动状态?

我看到一种可能性是完全在后台运行MATLAB脚本(like that)。但这有点太无人监管,因为我希望能够切换到MATLAB窗口并检查输出到命令窗口。

有什么想法吗?如果Windows的一般解决方案阻止其他应用程序变为活动状态也会很酷!

5 个答案:

答案 0 :(得分:1)

您可以按如下方式重载数字功能,以防止数字弹出:

a = figure('visible','off');

答案 1 :(得分:1)

我讨厌陈述这一点,但你总是可以存储你想要绘制的数据直到结束。

现在,您将告诉我,其中一些数据是子程序,并且不会传递回主程序。好。因此,解决方法是编写一个“Store_Plot_Data”类,其方法是将数据写入内存,@plot_function_name(用于3D,散点等),轴标签字符串然后,您将在主例程中创建此类的一个实例,并确保将此一个实例可见于所有子例程,您可以执行以下任何操作:

  1. 使用global变量作为您的单个实例......好的,不那么优雅,

  2. 实施Singleton pattern

  3. 将句柄的所有子程序传递给“Store_Plot_Data”类的一个实例。

答案 2 :(得分:0)

  

如果Windows有一般解决方案可以防止其他问题   申请变得活跃也很酷!

在Windows 7中,这对我有用:

http://pcsupport.about.com/od/windowsxp/ht/stealingfocus02.htm

将“HKEY_CURRENT_USER \ Control Panel \ Desktop \ ForegroundLockTimeout”设置为30d40(十六进制)。

答案 3 :(得分:0)

如果您希望所有数字都不显示。

set(0,'defaultFigureVisible','off'); 

答案 4 :(得分:0)

In the beginning of your script do:

set(0, 'DefaultFigureVisible', 'off');
set(0, 'DefaultFigureWindowStyle', 'docked');

Dock the Matlab figure window and maximize any other application (Excel, Word etc.) you are working with in front of Matlab.

Then you can continue to work without being interrupted by figures blinking on your face.