How to induce loop index in the X-label also with changing label name at each iteration?
    6 views (last 30 days)
  
       Show older comments
    
    Wiqas Ahmad
 on 9 Apr 2021
  
    
    
    
    
    Commented: Wiqas Ahmad
 on 12 Apr 2021
            I have two programs saved in a seperate files, for instance a1.m and a2.m, and each program has the following structure. The variable a in the program has two values a=[1,2]; for which I have to run both the programs to get the two outputs for a=1 and a=2. I can apply the loop to run one program twice for a=1 and a=2 but the problem is that I also have to change the x-label name from xlabel1 to xlabel2 of every figure from 1 to 3 at each iteration. And If I apply the loop to this program to run twice, I also have to obtain six figures, three figures for a=1 and three figures for a=2. So I want to apply the loop index i on the whole program so that it runs two times with changing x-label names in each figure at each iteration and gives me two outputs for a=1 and a=2.
%a1.m......
a=1;
for i=length(a)
    figure(1)
    hold on
    .
    .
    .
    .
    .
    .
    .
    title('.....')
    xlabel('label1');
    ylabel('.....');
end
hold on
figure(2)
.
.
.
title('.....')
xlabel('label1');
ylabel('.....');
hold on
figure(3)
.
.
.
title('.....')
xlabel('label1');
ylabel('.....');
%a2.m.......
a=2;
for i=length(a)
    figure(1)
    hold on
    .
    .
    .
    .
    .
    .
    .
    title('.....')
    xlabel('label2');
    ylabel('.....');
end
hold on
figure(2)
.
.
.
title('.....')
xlabel('label2');
ylabel('.....');
hold on
figure(3)
.
.
.
title('.....')
xlabel('label2');
ylabel('.....');
1 Comment
Accepted Answer
  Abhishek Gupta
    
 on 12 Apr 2021
        Hi,
a = [1, 2];
label = {'label1', 'label2'};
for k = 1:size(a,2)
    figure;
    %%% YOUR CODE %%%
    title('.....')
    xlabel(sprintf('a%d fig1 %s', a(k), label{k}));
    ylabel('.....');
    figure;
    %%% YOUR CODE %%%
    title('.....')
    xlabel(sprintf('a%d fig2 %s', a(k), label{k}));
    ylabel('.....');
    figure;
    %%% YOUR CODE %%%
    title('.....')
    xlabel(sprintf('a%d fig3 %s', a(k), label{k}));
    ylabel('.....');
end
More Answers (0)
See Also
Categories
				Find more on Printing and Saving in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

