Why does my plot not display when I use a nested loop?

2 ビュー (過去 30 日間)
Mal
Mal 2015 年 5 月 28 日
コメント済み: Mal 2015 年 5 月 28 日
I am trying to use the following code to iteratively plot various lines on a single graph:
hold on
for b=1:1:4
for a=0:4:16
c=a+24*b;
plot (a, c)
end
end
hold off
Why is my figure blank when I run it?

採用された回答

Michael Haderlein
Michael Haderlein 2015 年 5 月 28 日
編集済み: Michael Haderlein 2015 年 5 月 28 日
If you want to get this as line plot, you'll need all values of a and c to be in one array each. If the example you have posted is the real equation, you should simply vectorize it and things become much easier:
b=1:1:4;
a=0:4:16;
[Am,Bm]=meshgrid(a,b);
Cm=Am+24*Bm;
plot(a,Cm)
If this was just sketching the problem and you cannot vectorize your function, you'll need to save all c values:
b=1:1:4;
a=0:4:16;
c=zeros(numel(a),numel(b));
for cntb=1:numel(b)
for cnta=1:numel(a)
c(cnta,cntb)=a(cnta)+24*b(cntb);
end
end
plot(a,c)
  1 件のコメント
Mal
Mal 2015 年 5 月 28 日
Thank you! I get the plot I want by vectorizing the function.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by