A moving line plot between two points in MATLAB figure

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??

 Akzeptierte Antwort

Amit Bhowmick
Amit Bhowmick am 5 Jul. 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 Kommentare

can you please give me an another example using loops??
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)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Rajawarman Thiruselvam
Rajawarman Thiruselvam am 6 Jul. 2021

0 Stimmen

frm=[];
frm=[frm getframe()];
can you please explain this??

1 Kommentar

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]

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by