How can I correct this error?

1 vue (au cours des 30 derniers jours)
flashpode
flashpode le 22 Fév 2022
Modifié(e) : David Hill le 22 Fév 2022
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

Réponse acceptée

Voss
Voss le 22 Fév 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

Plus de réponses (1)

David Hill
David Hill le 22 Fév 2022
Modifié(e) : David Hill le 22 Fév 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));

Catégories

En savoir plus sur NaNs dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by