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 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