Index exceeds matrix dimensions.
Afficher commentaires plus anciens
Dear all, I have this array, "" ONU_queueNP{N} = [] ""
ONU_queueNP{i} = [ONU_queueNP{i}; ArrivingTime PacketSize];
and in a line after, I have these instructions:
Instant = ONU_queueNP{i}(1,1);
Size = ONU_queueNP{i}(1,1);
So, in Instant' I get the error "Index exceeds matrix dimensions" knowing that this was used before and it does not give an error. What can be the problem please?
Thank you in advance.
5 commentaires
Walter Roberson
le 24 Juin 2018
ArrivingTime and PacketSize might both have been empty when you assigned to ONU_queueNP{i}, so ONUP_queueNP{1} might not have an index (1,1)
Note: you probably want Size to be accessed as (1,2)
Aziza Zaouga
le 24 Juin 2018
Walter Roberson
le 24 Juin 2018
N = 5;
ONU_queueNP{N} = [];
This would create ONU_queueNP as a cell array of length 4, each containing a 0 x 0 double.
Now, let
global ArrivingTime PacketSize
i = 1;
ONU_queueNP{i} = [ONU_queueNP{i}; ArrivingTime PacketSize]
and observe:
ONU_queueNP =
1×5 cell array
{0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double}
You added an empty row to the end of an empty row, getting an empty row. And now ONU_queueNP{i} is empty so ONU_queueNP{i}(1,1) is index out of range.
Aziza Zaouga
le 25 Juin 2018
Walter Roberson
le 25 Juin 2018
You could first check size(ONU_queueNP) . If you get index exceeding matrix dimension on that, then check whether you accidentally created a variable named "size"
Réponses (0)
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!