Index exceeds matrix dimensions.
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 24 de Jun. de 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
el 24 de Jun. de 2018
Walter Roberson
el 24 de Jun. de 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
el 25 de Jun. de 2018
Walter Roberson
el 25 de Jun. de 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"
Respuestas (0)
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!