MATLAB Answers

How to set axis limit as a function of time with fanimator

2 ビュー (過去 30 日間)
Seonghoon Noh
Seonghoon Noh 2020 年 9 月 11 日
編集済み: Christopher Creutzig 2021 年 1 月 19 日
I have an object I would like to center in the figure frame when using fanimator. Say the x-position of the object is simply
x = @(t) 2*t
Then, I would like to be able to use xlim in a way like
hold on;
fanimator(@(t) plot(x(t),y(t)));
xlim([-5 5] + x(t));
ylim([0 3])
hold off;
However, x is just a function handle and t is undefined. How can I achieve this?

回答 (2 件)

Ayush Gupta
Ayush Gupta 2020 年 9 月 21 日
I have brought this issue to the notice of our developers. They will investigate the matter further.

Christopher Creutzig
Christopher Creutzig 2021 年 1 月 19 日
編集済み: Christopher Creutzig 2021 年 1 月 19 日
Unfortunately, it is currently not possible to animate xlim/ylim/zlim with fanimator. Changing that would not be easy, based on the structure of graphics objects inside a figure.
For animations requiring this kind of parameters, please use one of the other ways of animating MATLAB graphics as described on https://www.mathworks.com/help/matlab/animation-1.html; for example, using a loop:
for t=0:.1:5
plot(x(t),y(t),'*');
xlim([-5 5] + x(t));
ylim([0 3]);
pause(0.1);
end

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by