Connecting line between different points obtained from a for-loop

12 visualizaciones (últimos 30 días)
AHN
AHN el 12 de Oct. de 2016
Comentada: AHN el 29 de Nov. de 2016
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 comentarios
Colian Giannini
Colian Giannini el 12 de Oct. de 2016
about this?
x=1:20;
y=zeros(length(x));
for i=1:length(x);
y(i)=x(i)+2;
end
plot(x,y,'-*')
AHN
AHN el 13 de Oct. de 2016
Thank you for the reply. It's still not working on my problem, but good to know various approaches to the pseudo-code. I will keep trying, Thanks.

Iniciar sesión para comentar.

Respuestas (3)

Pritesh Shah
Pritesh Shah el 12 de Oct. de 2016
This will work for your case !!
All the best !!
  1 comentario
AHN
AHN el 12 de Oct. de 2016
Thank you for the reply. I still cannot get a connecting line through the points. Here's my pseudo-code. Thanks.
for x=1:1:20;
y=x+2
hold all
plot(x,y,'*')
end

Iniciar sesión para comentar.


Thorsten
Thorsten el 12 de Oct. de 2016
x = 1:20;
y = x+2;
plot(x,y,'*-')
  2 comentarios
AHN
AHN el 13 de Oct. de 2016
Thank you for the reply. It is working on this code, but not working on my actual problem where I have used the for-loop with MCS. It says the matrix dimensions don't agree when I don't use for-loop.
Thorsten
Thorsten el 14 de Oct. de 2016
It would be helpful if you post a complete yet minimal example that does not work.

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 14 de Oct. de 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 comentarios
AHN
AHN el 29 de Nov. de 2016
Thank you. They are randomly generated integers; say between -2 and 2. Thank you very much for the help.
AHN
AHN el 29 de Nov. de 2016
z1 =
0.6510
0.6995
-0.2816
-0.1782
1.7098
0.1839
1.0352
-0.5937
0.3116
0.2233
z2 =
1.7924
-1.3664
0.0013
0.0541
-1.3397
1.3086
1.1972
-0.1535
0.7780
-1.0430

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by