- https://www.mathworks.com/help/releases/R2020b/simulink/slref/matlabfunction.html
- https://www.mathworks.com/help/releases/R2020b/simulink/slref/foreachsubsystem.html
Skip an iteration in a ForEach subsystem
4 ビュー (過去 30 日間)
古いコメントを表示
Hello Everyone,
I currently have a ForEach subsystem that contains a statechart which gets replicated on all the inputs statically without skipping an iteration.
At certain conditions I would like to skip certain ForLoop iterations (just like the continue statement) to decrease overall execution time and have better efficiency.
How can such an issue be resolved?
Thank You
0 件のコメント
回答 (1 件)
Kanishk
2024 年 9 月 17 日
Hi Omar,
You are looking to enhance the efficiency of a "For Each" subsystem in Simulink by selectively skipping certain iterations. To achieve this, a "MATLAB Function" block can be employed prior to the "For Each" subsystem to filter the inputs that need to be processed.
Below is a sample code for the "MATLAB Function" block, which filters row 1,3 and 4 from the input and forwards this filtered output to the "For Each" subsystem:
function y = fcn(u)
% Control Logic
% Process only for iterations 1, 3 and 4
keepIter = [1 3 4];
y = u(keepIter,:);
Please go through the official MATLAB documentation of “MATLAB function block” and “For Each” subsystem.
Hope this helps!
Thanks
参考
カテゴリ
Help Center および File Exchange で Deployment, Integration, and Supported Hardware についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!