How can I make an animating plot moving with the speed I predefined?
2 ビュー (過去 30 日間)
古いコメントを表示
Hello, I am trying to make a simple simulation of a robot following straight lines. I am using a plot function and I would like to know how to make the robot in the plot move with the speed I want (ex. 2 m/s or 5 m/s)
Thank you!
1 件のコメント
Dyuman Joshi
2023 年 7 月 19 日
One way would be to update the coordinates of the robot according to the velocity after each iteraion.
採用された回答
Benjamin Kraus
2023 年 7 月 19 日
This is a very basic/crude example, but it shows some basic concepts:
y0 = 0; % Starting location
v0 = 100; % Starting velocity
a = -10; % Acceleration
p = plot(0, y0, 'o');
xlim([0 25])
ylim([0 600])
drawnow
t0 = datetime(); % Get the starting time.
tnow = t0;
while (tnow - t0 < minutes(1) && p.YData >= 0)
t = seconds(tnow-t0); % How much time has passed?
p.XData = t;
p.YData = y0 + v0*t + 0.5*a*t.^2;
drawnow
tnow = datetime(); % Get the current time
end
2 件のコメント
Benjamin Kraus
2023 年 7 月 19 日
Once you get that working, you may want to look into either timer or backgroundPool so you can run the simulation without blocking the MATLAB command window (for example Background Processing).
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Animation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!