How can I correct this error?
1 view (last 30 days)
Show older comments
Hi, so as I run my code and it works but gets an error.
figure(1)
for k = 1:24:nfiles
nexttile
vend = 1:24;
bar(All_Horas(vend+k-1),All_PpH(vend+k-1))
xlabel('Hores'),ylabel('Distancia (km)');
title(sprintf('Març %d',floor(k/24)+1))
end
the error is the followed:
Index exceeds the number of array elements. Index must not exceed 496.
I understand why it happens, k goes in packs of 24 and there are just 496 elements so the division is not an entire number, but how can I make that the last plot has just the last elements till it reaches 496? Thank you in advance
0 Comments
Accepted Answer
Voss
on 22 Feb 2022
% creating some random data:
nfiles = 496;
All_Horas = 1:nfiles;
All_PpH = randn(1,nfiles);
figure(1)
vend = 1:24;
for k = 1:24:nfiles
nexttile
idx = vend+k-1;
idx(idx > nfiles) = []; % remove any indexes greater than nfiles
bar(All_Horas(idx),All_PpH(idx))
xlabel('Hores'),ylabel('Distancia (km)');
title(sprintf('Març %d',floor(k/24)+1))
end
% now the last plot has 16 bars
0 Comments
More Answers (1)
David Hill
on 22 Feb 2022
Edited: David Hill
on 22 Feb 2022
figure(1)
for k = 1:24:480
nexttile
vend = 1:24;
bar(All_Horas(vend+k-1),All_PpH(vend+k-1))
xlabel('Hores'),ylabel('Distancia (km)');
title(sprintf('Març %d',floor(k/24)+1))
end
bar(All_Horas(481:496),All_PpH(481:496))
xlabel('Hores'),ylabel('Distancia (km)');
title(sprintf('Març %d',20));
0 Comments
See Also
Categories
Find more on NaNs 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!