Index exceed matrix dimensions
Mostrar comentarios más antiguos
I am writing this function and for loc = 5 it works fine for any number of popsizes but when I extend it to larger sizes it gives error "Index exceeds matrix dimension" kindly find the code below I tried to test it for popsize = 10 and I found that the f1 and f2 exceeds the 10 counts i dont know why and ofcourse f(i) only contains 10 values hence i get this error I hope I can find help;
function [ f ] = VRPObj8Old1 ( x, popsize, loc, d, a)
f = zeros(popsize,1);
for i = 1: popsize
f1 = 0;
for l = 1:loc
f1 = f1 + x( 1, l, i) * a;
end
f2 = 0;
for j = 1:loc
for o = 1:loc
f2 = f2 + x( j, o, i) * d(j , o);
end
end
f(i) = f1 + f2;
end
Respuestas (1)
Roger Stafford
el 28 de Nov. de 2017
0 votos
You will get that error message if either 'd' is not at least of size loc-by-loc, or 'x' is not at least of size loc-by-loc-by-popsize.
2 comentarios
Esraa Abdelhalim
el 29 de Nov. de 2017
Walter Roberson
el 30 de Nov. de 2017
At the time of failure, what is size(x), size(d), size(a), and what are popsize and loc ?
Categorías
Más información sobre Creating and Concatenating Matrices 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!