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 comentario

the cyclist
the cyclist el 14 de Jul. de 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?

Iniciar sesión para comentar.

 Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 14 de Jul. de 2013

0 votos

%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

Más respuestas (0)

Categorías

Más información sobre Graphics Performance en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 14 de Jul. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by