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

2 visualizaciones (últimos 30 días)
Mal
Mal el 28 de Mayo de 2015
Comentada: Mal el 28 de Mayo de 2015
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?

Respuesta aceptada

Michael Haderlein
Michael Haderlein el 28 de Mayo de 2015
Editada: Michael Haderlein el 28 de Mayo de 2015
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 comentario
Mal
Mal el 28 de Mayo de 2015
Thank you! I get the plot I want by vectorizing the function.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by