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

3 ビュー (過去 30 日間)
sha
sha 2015 年 6 月 3 日
コメント済み: Star Strider 2015 年 6 月 3 日
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 Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by