我正在使用MATLAB的发布功能来生成我正在运行的一些分析的快速报告。由于分析非常耗时,我添加了一个进度条来跟踪剩余时间。问题是我更喜欢这个进度条不会出现在我的报告中。从MATLAB中发布的文档中删除进度条
有没有办法让MATLAB在已发布的文档中引入一些内容。或者,或者,有什么方法可以知道我目前处于发布模式,因此在这些情况下我可以跳过进度栏?
编辑: 已经有一些解决方案,但我更喜欢自动化的东西,在发布之前不需要在工作区中额外添加一个步骤。任何其他技巧?
我正在使用MATLAB的发布功能来生成我正在运行的一些分析的快速报告。由于分析非常耗时,我添加了一个进度条来跟踪剩余时间。问题是我更喜欢这个进度条不会出现在我的报告中。从MATLAB中发布的文档中删除进度条
有没有办法让MATLAB在已发布的文档中引入一些内容。或者,或者,有什么方法可以知道我目前处于发布模式,因此在这些情况下我可以跳过进度栏?
编辑: 已经有一些解决方案,但我更喜欢自动化的东西,在发布之前不需要在工作区中额外添加一个步骤。任何其他技巧?
另一个稍微更通用的选项(受Mike Katz'响应启发),适用于您不希望(或明确希望)包含在报告中的任何类型的内容。
在你的模块/功能try
inPublishMode = evalin('base', 'inPublish');
catch
inPublishMode = false;
end
您现在可以设置从工作区中inPublish变量运行测试之前,并在条件语句包装你的可选代码。
if inPublishMode
% do something
end
仍然不完全令人满意,但它是另一种工具。
AFAIK没有办法从发布的文档中排除部分。
也许你可以做的是围绕进度条代码输出一个独特的模式(BEGIN/END),然后你将解析html文件并使用一些脚本删除这些部分。
我假设您使用WAITBAR
函数来生成进度条,并且在函数中只有一个这样的等待条。
之前发布的文件预创建waitbar:
h = waitbar(0);
然后使waitbar无形的PUBLISH
功能:
set(h,'HandleVisibility','off')
如果您使用waitbar在你的代码,你有通过再次引用它来指定要重新使用隐藏的等待栏,使用该句柄,h
:
waitbar(newPercentage,h);
请参阅waitbar的函数参考页以获取更多帮助。
我想这会工作,但我宁愿避免额外的一步。我会继续寻找更优雅的解决方案,但谢谢! – Kena 2009-11-05 14:36:19