how can i animate the line using for loop and if statement
조회 수: 2 (최근 30일)
이전 댓글 표시
clear all
close all
clc
h = animatedline;
axis([1 4 1 4])
for x=1:4
if x==1
y(x)=1;
elseif x==2
y(x)=1;
elseif x==3
y(x)=2;
elseif x==4
y(x)=1;
elseif x>4
break;
addpoints(h,x(x),y(x));
drawnow
x=1:4;
end
end
I want the line should be move slowly through these points, please help me to fix this.
댓글 수: 0
채택된 답변
Mathieu NOE
2021년 7월 6일
hello
you can do much simpler , as x and y are fully defined in the initialization section , then you only have to loop - four times and that's it ! no need for if elseif statements
clear all
close all
clc
figure
h = animatedline;
axis([0 5 0 5])
x=1:4;
y = [1 1 2 1];
for ci=1:4
addpoints(h,x(ci),y(ci));
pause(0.5);
drawnow
end
.
댓글 수: 7
Mathieu NOE
2021년 7월 7일
hello
see
code updated for orange and green colors
clear all
close all
clc
figure
h1 = animatedline;
h1.Marker = '*';
h1.Color = [1 0.4 0]; % orange
h2 = animatedline;
h2.Marker = '+';
h2.Color = [0 1 0]; % green
axis([0 5 0 5])
x1=1:4;
n = 100;
xx1=linspace(x1(1),x1(end),n);
y1 = [1 1 2 1];
y2 = [2 2 3 2];
yy1 = interp1(x1,y1,xx1);
yy2 = interp1(x1,y2,xx1);
for ci=1:n
addpoints(h1,xx1(ci),yy1(ci));
addpoints(h2,xx1(ci),yy2(ci));
pause(0.1);
drawnow
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Animation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!