我需要从for
MATLAB 的循环中运行 C++ 可执行文件。为此,我编写了以下代码,
EqNumbers = [17 18 20 21 22 23];
for i = 1:length(EqNumbers)
EqNumber = EqNumbers(i);
WriteRunE_File(EqNumber);
filename=['RunE_1.tcl'];
system(['OpenSees.exe<',filename]);
end
它大部分时间都运行良好,但是有时会出现调试错误(如下所示)。它提示我采取行动,如果我按下“中止”按钮,那么程序将继续进行下一次迭代。我只是想让这个过程自动化,每次手动按下中止按钮对我来说是不可能的,因为程序中有超过 1000 个迭代。
我尝试try-catch end
如下使用,但它没有达到目的。
EqNumbers = [17 18 20 21 22 23];
for i = 1:length(EqNumbers)
try
% Code to be executed goes here.
EqNumber = EqNumbers(i);
WriteRunE_File(EqNumber);
filename=['RunE_1.tcl'];
system(['OpenSees.exe<',filename]);
catch
disp('An error occurred in Equke');
disp('Execution will continue.');
end
end
我正在寻找绕过错误消息或自动按下“中止”按钮的方法。这样程序将自动移动到下一个迭代。
笔记:
我无权访问 C++ 源代码(我只有一个可执行文件),因此我无法更新citaR
. 这就是我在 MATLAB 中寻找解决方法的原因。