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

3 次查看(过去 30 天)
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);

采纳的回答

Star Strider
Star Strider 2015-6-3
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 个评论
sha
sha 2015-6-3
Thanks, Could you tell me what plot([x; x] is doing here?
Star Strider
Star Strider 2015-6-3
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by