A moving line plot between two points in MATLAB figure

11 vues (au cours des 30 derniers jours)
Rajawarman Thiruselvam
Rajawarman Thiruselvam le 5 Juil 2021
Commenté : Amit Bhowmick le 6 Juil 2021
Hi everyone, I need help to do an animated line for known coordinates
For example: (x1,y1),(x2,y2),(x3,y3) are known variables
here i want the point should be moving slowly from x1,y1 to x3,y3 via x2,y2
How can i do this??

Réponse acceptée

Amit Bhowmick
Amit Bhowmick le 5 Juil 2021
For large number of iteration use loop accordingly.
clearvars
close all
clc
x1=0.1;y1=0.2;
x2=0.3;y2=0.4;
x3=0.5;y3=0.6;
hold on
frm=[];
axis([0 1 0 1])
plot(x1,y1,'o')
frm=[frm getframe()];
plot([x1 x2],[y1 y2])
frm=[frm getframe()];
plot(x2,y2,'o')
frm=[frm getframe()];
plot([x2 x3],[y2 y3])
frm=[frm getframe()];
plot(x3,y3,'o')
frm=[frm getframe()];
movie(frm,3,1)
  2 commentaires
Rajawarman Thiruselvam
Rajawarman Thiruselvam le 5 Juil 2021
can you please give me an another example using loops??
Amit Bhowmick
Amit Bhowmick le 5 Juil 2021
clearvars
close all
clc
hold on
frm=[];
axis([-2 12 -2 120])
x=0:0.5:10;
y=x.^2;
for ii=1:length(x)
plot(x(ii),y(ii),'o')
frm=[frm getframe()];
end
movie(frm,1,12)

Connectez-vous pour commenter.

Plus de réponses (1)

Rajawarman Thiruselvam
Rajawarman Thiruselvam le 6 Juil 2021
frm=[];
frm=[frm getframe()];
can you please explain this??
  1 commentaire
Amit Bhowmick
Amit Bhowmick le 6 Juil 2021
frm=[] creats an emty varriable with size 0x0.
getframe() capture the current plot and store the frame adding one more extra column to frm with [frm getframe()].
check this following thing to understand this operation:
a=[1 2 3 4];
a=[a 3]

Connectez-vous pour commenter.

Catégories

En savoir plus sur Animation dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by