How to generate a number of parallel lines (x=constant)?

3 visualizaciones (últimos 30 días)
sha
sha el 3 de Jun. de 2015
Comentada: Star Strider el 3 de Jun. de 2015
Hello, Could anyone tell me how to generate equally-spaced lines parallel to y-axis? Just like comb generation as shown in the attached file. I tried to generate using the following code, however, no success:
% code
lambda= [1.52:0.002222:1.58]; % x-axis
for m=722:749;
k[m]=2*3.8*150./m;
end
y=0:0.01:1;
plot(lambda*ones(size(y)), y, 'LineWidth', 1)
xlabel('\lambda (\mum)','FontSize',16);
ylabel('Y','FontSize',16);

Respuesta aceptada

Star Strider
Star Strider el 3 de Jun. de 2015
The code you posted is not MATLAB syntax.
This works:
x = 1:10;
figure(1)
plot([x; x], [zeros(1, length(x))*min(ylim); ones(1, length(x))*max(ylim)])
You will have to experiment with it to get the result you want.
  2 comentarios
sha
sha el 3 de Jun. de 2015
Thanks, Could you tell me what plot([x; x] is doing here?
Star Strider
Star Strider el 3 de Jun. de 2015
My pleasure.
It plots two matrices, one is is a (2xN) matrix of identical ‘x’ values in each row, where N is the length of ‘x’. (The second is a matrix of the same size, going from the minimum to maximum values of ylim in each column.)
MATLAB uses column-major indexing, so I’m taking advantage of that here. The plot function takes each column of ‘x’ and plots the corresponding column of ‘y’. The two rows in each column of ‘x’ are the same, and the two rows in each column of ‘y’ differ, plotting a vertical line for each column.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by