How to count the number of objects within an area after simulink simulation ends
1 次查看(过去 30 天)
显示 更早的评论
In the sldemo_eml_galaxy_script default simulink program, it draws a simulation of two galaxies interacting. Is there a way in which I can add another function block which waits until the end of the simulation and then counts how many objects are within a certain volume of the center of a galaxy I choose?
0 个评论
采纳的回答
Anh Tran
2018-1-4
Yes, of course. After looking at Model Description, I noticed that the galaxy cores are treated as heavy bodies. Therefore, this particular example has 2 heavy bodies and 698 light bodies (stars). You may want to find the position of a heavy body, and find all the stars that satisfy your bounding condition. Check 'heavy1' output from "Apply Gravity" block for cores position.
For box area example, (x1 < box_width < x2) && (y1 < box_height < y2). You can use logical indexing or find() Since you only want your code to execute at the end of the simulation, you may pass a clock input into your function and do:
if clock == end_time % 250 in the example
% find position of core
% find stars in an area around core
end
Hope this helps. Good luck!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!