Need help for loop keeps overwriting plots
Afficher commentaires plus anciens
Hi everyone, I am working on some code and I am having issues. Every time I run the code instead of obtaining 5 unique figures, I get the same figure 5 times as my code reads all of the files but only plots the last one.
numfiles = 5;
mydata = cell(1, numfiles);
for i = 1:5
myfilename = sprintf('file%d.xlsx', i);
mydata{i} = xlsread('Base_01');
myfilename = sprintf('file%d.xlsx',i);
newdata{i} = xlsread('Hydrophone_01');
end
save('mydata.mat')
save('newdata.mat')
for i = 1:5 %why is it only plotting the last data set
thisfig = figure();
Data = mydata{1,i} (15005:21255,:);
subplot(3,1,1);
plot(Data(:,1),Data(:,2))
xlim([60 85])
title('Amplitude vs. Time for Base Data')
Code continues on further but I just shortened it here because this is the main issue I am having.
Thanks! Any help will be appreciated.
6 commentaires
per isakson
le 29 Oct 2018
Modifié(e) : per isakson
le 29 Oct 2018
This code plots two diagrams on top of each other - as should be expected.
for ii = 1:2 %why is it only plotting the last data set
thisfig = figure();
Data(:,2) = randn( 17, 1 );
Data(:,1) = (1:17)';
subplot(3,1,1);
plot(Data(:,1),Data(:,2))
title('Amplitude vs. Time for Base Data')
end
Muhammad Akram
le 29 Oct 2018
per isakson
le 29 Oct 2018
Modifié(e) : per isakson
le 29 Oct 2018
- "what does the randn do?" See randn, Normally distributed random numbers
- "two diagrams on top of each other" I mean two figures on top of each other. Run my code and see for yourself.
- I use R2018a
madhan ravi
le 4 Nov 2018
don't close question which has answer
Muhammad Akram
le 4 Nov 2018
madhan ravi
le 4 Nov 2018
Did you upload your file?
Réponses (1)
madhan ravi
le 29 Oct 2018
numfiles = 5;
mydata = cell(1, numfiles);
for i = 1:5
myfilename = sprintf('file%d.xlsx', i);
mydata{i} = xlsread('Base_01');
myfilename = sprintf('file%d.xlsx',i);
newdata{i} = xlsread('Hydrophone_01');
end
save('mydata.mat')
save('newdata.mat')
for i = 1:5 %why is it only plotting the last data set
thisfig = figure(i);
Data = mydata{1,i} (15005:21255,:);
subplot(3,1,1);
plot(Data(:,1),Data(:,2))
xlim([60 85])
title('Amplitude vs. Time for Base Data')
end
Catégories
En savoir plus sur Surface and Mesh Plots dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!