Please help me to resolve it . I am using it in Ant Colony algorithm
2 次查看(过去 30 天)
显示 更早的评论
??? Error using ==> times
Matrix dimensions must agree.
Error in ==> ACO at 215
p = ((1-rho).*p + rho.*delta_p_current.*v).*delta_p_current +
p.*(abs(1-delta_p_current));
1 个评论
采纳的回答
Walter Roberson
2013-4-7
All of the variables you have on that line need to be the same size() or else need to be scalars, but at least one of the variables is not the right size.
3 个评论
Walter Roberson
2013-4-7
My guess is that at some point you used code similar to
[rows, cols] = size(p);
delta_p_current = zeros(rows, cols);
This is not certain to work, because of an oddity in the definition of the size() function. If you use
s = size(p);
then s would be the vector [128 128 3]
and if you used
[rows cols bands] = size(p)
then rows would be 128, cols would be 128, and bands would be 3.
But if you used
[rows cols] = size(p)
and p has more dimensions than you have variables on the left, then the last variable you gave on the left will be all the remaining dimensions multiplied together -- so in this case, rows would be 128, but cols would be (128 * 3) = 384. In this way, the product of the returned values is always the same as the number of elements in the original array, even though that startles you that the second output is not the size of the second dimension.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Robotics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!