How can I correct this error?
    2 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposta accettata
  Voss
      
      
 il 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 Commenti
Più risposte (1)
  David Hill
      
      
 il 22 Feb 2022
        
      Modificato: David Hill
      
      
 il 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 Commenti
Vedere anche
Categorie
				Scopri di più su NaNs in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



