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,

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 22 Avr 2014
for k=1:3
eval(sprintf('plot(D%d)',k))
hold on
end

3 commentaires

jamaledin
jamaledin le 22 Avr 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 le 22 Avr 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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by