MATLAB Answers

Loading in excel data with loop and plotting

7 views (last 30 days)
Benjamin
Benjamin on 12 Nov 2018
Edited: Benjamin on 12 Nov 2018
I took 2 pieces of code and tried to put them together, but it did not work.
When I load in data like this:
S=struct;
S.A600= xlsread(filename,'0.600');
S.A601= xlsread(filename,'0.601');
etc.
and
then do this:
fn = fieldnames(S);
for k = 1:length(fn)
thisS = S.(fn{k});
x = thisS(:, 1);
y = thisS(:, 2);
fprintf('Printing field #%d.\n', k);
semilogy(x, y,'-o');
hold on
drawnow;
end
Everything works fine, namely because fn is defined correctly. Here, fn is 20x1.
But when I try to load data in with a loop and do this:
filename = 'C:\PATH\variable_analysis.xlsx';
S=struct;
for n=20:-1:1
A= xlsread(filename,sprintf('0.6%02d',n));
S(n).data=A;
end
fn = fieldnames(S);
for k = 1:length(fn)
thisS = S.(fn{k});
x = thisS(:, 1);
y = thisS(:, 2);
fprintf('Printing field #%d.\n', k);
semilogy(x, y,'-o');
hold on
drawnow;
end
grid on;
fn is only a 1x1 cell, so only 1 dataset is plotted.
I know I am making an obvious error somewhere, but I cannot find it.
  6 Comments

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by