필터 지우기
필터 지우기

how to make automatic graph script with a for loop?

조회 수: 1 (최근 30일)
Tony Castillo
Tony Castillo 2016년 10월 17일
댓글: Tony Castillo 2016년 10월 18일
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

채택된 답변

KSSV
KSSV 2016년 10월 18일
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
  댓글 수: 1
Tony Castillo
Tony Castillo 2016년 10월 18일
Thanks for your help, in the code just lack x="(i)"+step; instead that x=1+step.
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

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

KSSV
KSSV 2016년 10월 17일
편집: KSSV 2016년 10월 17일
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
Guillaume
Guillaume 2016년 10월 17일
편집: Guillaume 2016년 10월 17일
The hold command needs to be issued before plotting.
Of course, you also have the issue highlighted by Adam
Adam
Adam 2016년 10월 17일
편집: Adam 2016년 10월 17일
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
Adam 2016년 10월 17일
편집: Adam 2016년 10월 17일
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
Tony Castillo
Tony Castillo 2016년 10월 17일
When i do it, appear this error. Undefined function or variable 'con'.
Error in UntitledFOR (line 6) y=con(i)+step;
This is the code with your recommendation.
Adam
Adam 2016년 10월 17일
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.

댓글을 달려면 로그인하십시오.

제품

Community Treasure Hunt

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

Start Hunting!

Translated by