2009-11-04 58 views
0

我正在使用MATLAB的发布功能来生成我正在运行的一些分析的快速报告。由于分析非常耗时,我添加了一个进度条来跟踪剩余时间。问题是我更喜欢这个进度条不会出现在我的报告中。从MATLAB中发布的文档中删除进度条

有没有办法让MATLAB在已发布的文档中引入一些内容。或者,或者,有什么方法可以知道我目前处于发布模式,因此在这些情况下我可以跳过进度栏?

编辑: 已经有一些解决方案,但我更喜欢自动化的东西,在发布之前不需要在工作区中额外添加一个步骤。任何其他技巧?

回答

0

另一个稍微更通用的选项(受Mike Katz'响应启发),适用于您不希望(或明确希望)包含在报告中的任何类型的内容。

在你的模块/功能

try 
    inPublishMode = evalin('base', 'inPublish'); 
catch 
    inPublishMode = false; 
end 

您现在可以设置从工作区中inPublish变量运行测试之前,并在条件语句包装你的可选代码。

if inPublishMode 
    % do something 
end 

仍然不完全令人满意,但它是另一种工具。

1

AFAIK没有办法从发布的文档中排除部分。

也许你可以做的是围绕进度条代码输出一个独特的模式(BEGIN/END),然后你将解析html文件并使用一些脚本删除这些部分。

+0

我想这会工作,但我宁愿避免额外的一步。我会继续寻找更优雅的解决方案,但谢谢! – Kena 2009-11-05 14:36:19

1

我假设您使用WAITBAR函数来生成进度条,并且在函数中只有一个这样的等待条。

之前发布的文件预创建waitbar:

h = waitbar(0); 

然后使waitbar无形的PUBLISH功能:

set(h,'HandleVisibility','off') 

如果您使用waitbar在你的代码,你有通过再次引用它来指定要重新使用隐藏的等待栏,使用该句柄,h

waitbar(newPercentage,h);

请参阅waitbar的函数参考页以获取更多帮助。

+0

听起来不错,但似乎不适合我。 waitbar仍然出现...将调查 – Kena 2009-11-06 15:43:00

+0

作品,如果我设置“可见”也关闭,这不是完美的,但可以接受的 – Kena 2009-11-06 15:53:55