how to make automatic graph script with a for loop?
3 views (last 30 days)
Show older comments
Hi everybody, i'm trying to make the folowing script for grahp 7 points, but i do not understand why only represent only one point of the seven that i should draw.
hold on
grid on
n=0;
k=1;
step=1;
for i=7
y=con1+step;
x=1+step;
plot(x, y, '*');
k=k+1;
end
This are the 7 points
con1 =4.3e10
con2 =1.16e10
con3 =5.44e9
con4 =3.15e9
con5 =1.98e9
con6 =1.4e9
con7 =1.05e9
Can anyone help me to structure it better the code?. Thanks in advance
0 Comments
Accepted Answer
KSSV
on 18 Oct 2016
con = [4.3e10 ; 1.16e10;5.44e9;3.15e9;1.98e9;1.4e9;1.05e9 ] ;
hold on
grid on
n=0;
k=1;
step=1;
for i=1:7
y=con(i)+step;
x=1+step;
plot(x, y, '*');
k=k+1;
end
More Answers (2)
KSSV
on 17 Oct 2016
Edited: KSSV
on 17 Oct 2016
Use hold on after plot command inside the loop...using hold on points are plotted on the same figure. If not every time new figure opens.
3 Comments
Adam
on 17 Oct 2016
Edited: Adam
on 17 Oct 2016
As long as the hold is before the 2nd plot it should work fine I would think. Of course ideally you would give the axes handle to the hold command
hold( hAxes, 'on' )
to avoid any unpleasant bugs creeping in, but in a simple script just
hold on
tends to work fine.
Adam
on 17 Oct 2016
Edited: Adam
on 17 Oct 2016
Your for loop doesn't change anything so you just plot the same point every time. Neither con1 nor step changes so neither do x or y.
Did you mean to update step using 'i' or something like that? Or do you want con1 upto con7? In which case store them in a single array instead and access as
con(i)
rather than
con1
2 Comments
Adam
on 17 Oct 2016
Well, of course you have to define con as an array containing all your values instead of the 7 variables you currently have as con1 to con7.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!