Please help me to resolve it . I am using it in Ant Colony algorithm
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
??? 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 commentaire
Réponse acceptée
Walter Roberson
le 7 Avr 2013
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 commentaires
Walter Roberson
le 7 Avr 2013
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.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!