Index exceed matrix dimensions
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Roger Stafford
2017-11-28
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 个评论
Walter Roberson
2017-11-30
At the time of failure, what is size(x), size(d), size(a), and what are popsize and loc ?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!