Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

How do I fix: Index exceeds array bounds.

1 visualizzazione (ultimi 30 giorni)
jakobjakob
jakobjakob il 10 Giu 2018
Chiuso: Star Strider il 11 Giu 2018
j= 1:length(index_aanname);
for j= 1:length(index_aanname)
for l=1:length(alldata)
if ((strcmp(alldata(l,3), SA{j})) && ((TA(1,j) - alldata{l,1}) <= 10.0) && ((TA(1,j) - alldata{l,1}) >= 0) && (strcmp(alldata(l,4), 'Voor'))) == 1
eerste_kijkmoment(l) = tijdnum(l);
j=j+1;
end
end
end
j goes up to 240. I know that in the loop it goes to 241, that's why there is an error. But how do I fix this? I know it ask more often over here, but I cannot come to an answer...
  2 Commenti
Majid Farzaneh
Majid Farzaneh il 10 Giu 2018
Hi,
Why you are using j=j+1?
What is the size of SA and TA?
Error occurs because of j=j+1. It cause increasing of j exceed SA or TA size.
jakobjakob
jakobjakob il 10 Giu 2018
I added SA.mat and TA.mat. I know the error is there because of j=j+1, but how can I fix it?

Risposte (1)

Star Strider
Star Strider il 10 Giu 2018
If you want to increment ‘j’ inside the ‘l’ loop, the easiuest way is to reverse the order of the for calls:
for l = 1:length(alldata)
for j = 1:length(index_aanname)
... CODE ...
end
end
  2 Commenti
jakobjakob
jakobjakob il 10 Giu 2018
The error is gone, but it did not fix my problem. I have a file about footbal looking behaviour. I want the first 'viewing behaviour' (=eerste_kijkmoment) in the 10 seconds before every first ball touch (=aanname). Your code with my code gave all the viewing behaviour and not only the first viewing behaviour before the first ball touch. Can you help me?
Star Strider
Star Strider il 10 Giu 2018
I have no idea how to interpret your ‘SA’ and ‘TA’ data, or even what they mean or what you want to do with them.
I cannot help you further.

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by