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

0 votes

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 Agriculture dans Centre d'aide 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