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

10 vues (au cours des 30 derniers jours)
Seonghoon Noh
Seonghoon Noh le 11 Sep 2020
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?

Réponses (2)

Ayush Gupta
Ayush Gupta le 21 Sep 2020
I have brought this issue to the notice of our developers. They will investigate the matter further.

Christopher Creutzig
Christopher Creutzig le 19 Jan 2021
Modifié(e) : Christopher Creutzig le 19 Jan 2021
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

Catégories

En savoir plus sur Lighting, Transparency, and Shading dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by