Drawing lines in a loop

Dear all,
I am searching for a way to draw multiple lines in a "for", or "while" loop. This is what I tried so far:
plot(xa,phi(xa),'b',x,eta(x),'b')
hold on
syms xls yls
yls = 0.004;
xls = 0.0001;
while xls ~= width,
startp = [xls yls];
endp = [xls eta(xls)];
Xl = [startp(1) endp(1)];
Yl = [startp(2) endp(2)];
line(Xl, Yl);
xls = xls + 0.0001;
end
As you can see, I am trying to draw vertical lines in a plot showing a function. These vertical lines should end exactly where they intersect the function...
I am quite stuck with this problem and I would very much appreciate it if someone could help me!
Kind regards, Marc

1 Commento

the cyclist
the cyclist il 14 Lug 2013
I can't run your code, so I can't actually see the problem exhibited. Can you please describe in more detail what the actual problem is?

Accedi per commentare.

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 14 Lug 2013
%Example
close
x=0:0.1:10
y=sin(x)./(x+0.1)
plot(x,y)
hold on
x_line=[0 2 4 6 8 10] % The x coordinate intersecting the vertical lines
y_line=interp1(x,y,x_line)
y_lim=get(gca,'ylim');
ymax=y_lim(2);
for k=1:numel(x_line)
plot([x_line(k),x_line(k)],[y_line(k) ymax],'r')
end
hold off

Più risposte (0)

Categorie

Scopri di più su Graphics Performance in Centro assistenza e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by