Connecting line between different points obtained from a for-loop
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens

Hello, I have obtained a plot of set of points from a for-loop as shown above. I simply want to add a line connecting these points. The function plot(x,y,'-*') does not work since these points are from different iterations. Please can someone help. Thanks.
2 commentaires
Colian Giannini
le 12 Oct 2016
about this?
x=1:20;
y=zeros(length(x));
for i=1:length(x);
y(i)=x(i)+2;
end
plot(x,y,'-*')
Réponses (4)
Image Analyst
le 14 Oct 2016
These work:
% Plot all at once:
subplot(2, 1, 1);
x = 1 : 20;
y = zeros(1, length(x));
for i = 1 : length(x)
y(i) = x(i) + 2;
end
plot(x,y,'b-*')
grid on;
% Plot a point at a time:
subplot(2, 1, 2);
grid on;
ylim([0, 22]);
xlim([0, 20]);
hold on;
x = 1 : 20;
y = zeros(1, length(x));
for i = 1 : length(x)
y(i) = x(i) + 2;
plot(x(1:i),y(1:i),'b-*')
drawnow;
pause(0.3);
end
Of course you could also vectorize and do away with the for loops
x = 1 : 20;
y = x + 2;
plot(x,y,'b-*')
grid on;
4 commentaires
SAKSHAM
le 12 Oct 2024
clc;
clear all;
x1=input("Enter the value of x1= ");
y1=input("Enter the value of y1= ");
x2=input("Enter the value of x2= ");
y2=input("Enter the value of y2= ");
dx=x2-x1;
dy=y2-y1;
k=0;
p=2*dy-dx;
plot(x1,y1,'o');
hold on
while x1<x2
if p<0
x1=x1+1;
p=p+(2*dy);
else
x1=x1+1;
y1=y1+1;
p=p+ 2*(dy-dx);
end
plot(x1,y1,'o');
end
grid on
please let me know how to connect the points with a line in this code
1 commentaire
DGM
le 12 Oct 2024
Yet another reason to not write scripts that rely on ephemeral manual user input.
Are the initial points all scalar? If so, what's the point of the loop?
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!