how can i stop this while loop? it doesn;t finish
显示 更早的评论
while 1
sim(mdl);
if out.soc_fin(end)-soc_target <= 1.5
break
end
on_line = on_line + 1000;
end
the mdl is simulink that calculate soc,
although the SOC reach the if target, it doesn't finish and SOC is going down,
please help me
回答(2 个)
Catalytic
2024-4-19
if abs( out.soc_fin(end)-soc_target ) <= 1.5
Another way is to use isequal function
if isequal((out.soc_fin(end)-soc_target),1.5)
break
end
1 个评论
DGM
2024-4-19
That's only going to work if the error is exactly 1.5. If it undershoots the maximum allowable error, it'll just keep going.
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!