Why does my plot not display when I use a nested loop?
2 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!