Automatically Change Variable in a Plot

Hi Guys,
I have some variables (D1,D2,D3,...) and I want to draw the graph for them .Since, number of variables are so much, I want to define the plot funtion in such a way that the variable changes automatically. My initial suggestion was to use eval function as follows: plot(eval(['D' num2str(j)])(:,11),D11(:,1),'linewidth',1) But id doesnt work. Could you please let me know any suggestion to solve it.
Cheers,

 Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 22 de Abr. de 2014
for k=1:3
eval(sprintf('plot(D%d)',k))
hold on
end

3 comentarios

jamaledin
jamaledin el 22 de Abr. de 2014
Thank you for your reply.It works. Could ou please tell me, if I want to just draw specific numbers of rows and columns, how can I indicate it in this function? For example: plot(D11(:,1),D11(:,2))
Jamaledin, using several variables is not a good idea. you can create one variable
v=[D1;D2;...]
or a cell array
v={D1 D2 ...]
jamaledin
jamaledin el 22 de Abr. de 2014
Many thanks for your support Azzi. Your recommendation is completely right. I redefined the arrays as follows and It works:
for i=1:11 D{i} = a(6+L(1,i):5+L(1,(i+1)),:); end
plot(D{i}(:,11),D{i}(:,1),'linewidth',1)
Many thanks for your replies. Best Regards, Jamaledin

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.

Preguntada:

el 22 de Abr. de 2014

Comentada:

el 22 de Abr. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by