我想捕获在 Matlab/Simulink 模型仿真期间发出的所有警告。模拟的结果应该是一系列警告,因为可能有不止一个警告。
理想的代码看起来像这样(除了 catch 不能处理警告):
try
sim('myModel');
catch warnings
for i=1:length(warnings)
<process each warning>
end
end
我已经尝试过但没有成功的事情:
- 将警告变成异常并没有帮助,因为我只会收到第一个警告,而不是所有警告。
- 用我自己的“@char\warnings.m”覆盖内置警告函数只会在我自己的脚本中捕获警告,而不会在 sim 函数中捕获。
lastwarn
只会给我最后一条警告信息,而不是所有的警告信息。
P.S.:我在 Windows 上使用 Matlab 2010b。
最佳答案
解决方法是用diary
记录sim
的输出,模拟后分析文件(warnings的格式比较有规律)。
关于matlab - 如何在 Simulink 仿真期间捕获所有警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7790929/