Вы можете заменить plot (x, y, 'r') на plot (x, y, 'r *').Таким образом, вы сможете увидеть отдельные точки.Также вам нужно будет добавить функцию «Hold on» после графика, чтобы иметь возможность наложения графиков для всех итераций.
Если вы хотите рисовать линии, но не отдельные точки, вам лучше переместить визуализацию из цикла,Вот модифицированный код:
clear;
clc;
% initial position
theta1s=-150;
theta2s=-80;
theta3s=-50;
theta4s=-100;
theta5s=-180;
% final position
theta1f=20;
theta2f=100;
theta3f=80;
theta4f=50;
theta5f=180;
% time taken for movement
tf=input('time=')
% acceleration for every link
acc1=(4.*(20-(-150)))./(tf^2)
acc2=(4.*(100-(-80)))./(tf^2)
acc3=(4.*(80-(-50)))./(tf^2)
acc4=(4.*(50-(-100)))./(tf^2)
acc5=(4.*(180-(-180)))./(tf^2)
% blending time for every link
tb1=((0.5.*(tf))-(0.5.*(sqrt((((tf^2).*acc1)-(4.*(20-(-150))))./acc1))))
t = 0;
% allocate memory for array
y = zeros(1, tf+1);
for x = 0:tf;
t = t + 0.1;
if 0<t<=tb1;
y(x+1) = theta1s+((0.5.*acc1).*(t^2));
elseif tb1<t<=tf-tb1;
y(x+1) = (theta1s-((0.5.*acc1).*(tb1^2)))+(acc1.*tb1.*t);
else tf-tb1<t<=tf;
y(x+1) = theta1s-((0.5.*acc1).*(tf.*t)^2);
end
end
plot(0:tf,y,'r')
title('Position Versus Time');
xlabel('time in s');
ylabel('position in m');
grid on;
drawnow;
disp(y);