how can I break a while loop if it stuck at one function in this loop?

1 次查看(过去 30 天)
Hi everyone! I'm running a while loop. It stucks sometimes on startSimulation function inside this while loop. It's not a error, but it runs for forever! I just want to break the while loop if this takes too long time like more then 1 minute.
while 1
Charge = startSimulation(t0,tf,initialState,I1C,param);
if SOC>80
break
end
end

回答(1 个)

Walter Roberson
Walter Roberson 2017-11-14
If you need to be able to limit the amount of time taken by an operation, then you need the Parallel Computing toolbox. You need to run the operation using parfeval(). You can then use wait() with a timeout; if the timeout expires then you can cancel() the future

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by