MATLAB Answers

A moving line plot between two points in MATLAB figure

5 views (last 30 days)
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??

Accepted Answer

Amit Bhowmick
Amit Bhowmick on 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 Comments
Amit Bhowmick
Amit Bhowmick on 5 Jul 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)

Sign in to comment.

More Answers (1)

Rajawarman Thiruselvam
Rajawarman Thiruselvam on 6 Jul 2021
frm=[];
frm=[frm getframe()];
can you please explain this??
  1 Comment
Amit Bhowmick
Amit Bhowmick on 6 Jul 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]

Sign in to comment.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by