Can anyone help me ?
Mostrar comentarios más antiguos
I have a problem with my code, can you find a solution for this code?
I want to take one of the Position and Cost From Dance.Sector1.Position and Cost ...
But, I didn't understand the last code. Can anyone help me :(
if Scout.Position(i,1) <= qrmax && Scout.Position(i,1) >= 0
if Scout.Position(i,2) <= qrmax && Scout.Position(i,2) >= 0
Dance.Sector1.Position(i,:) = Scout.Position(i,:);
Dance.Sector1.Cost(i,:) = Scout.Cost(i,:);
Dance.Sector1.Position = Dance.Sector1.Position(all(Dance.Sector1.Position ~= 0,2),:);
Dance.Sector1.Cost = Dance.Sector1.Cost(all(Dance.Sector1.Cost ~= 0,2),:);
end
end
if Scout.Position(i,1) <= qrmax && Scout.Position(i,1) >= 0
if Scout.Position(i,2) >= qrmin && Scout.Position(i,2) <= 0
Dance.Sector2.Position(i,:) = Scout.Position(i,:);
Dance.Sector2.Cost(i,:) = Scout.Cost(i,:);
Dance.Sector2.Position = Dance.Sector2.Position(all(Dance.Sector2.Position ~= 0,2),:);
Dance.Sector2.Cost = Dance.Sector2.Cost(all(Dance.Sector2.Cost ~= 0,2),:);
end
end if Scout.Position(i,1) >= qrmin && Scout.Position(i,1) <= 0
if Scout.Position(i,2) >= qrmin && Scout.Position(i,2) <= 0
Dance.Sector3.Position(i,:) = Scout.Position(i,:);
Dance.Sector3.Cost(i,:) = Scout.Cost(i,:);
Dance.Sector3.Position = Dance.Sector3.Position(all(Dance.Sector3.Position ~= 0,2),:);
Dance.Sector3.Cost = Dance.Sector3.Cost(all(Dance.Sector3.Cost ~= 0,2),:);
end
end if Scout.Position(i,1) >= qrmin && Scout.Position(i,1) <= 0
if Scout.Position(i,2) <= qrmax && Scout.Position(i,2) >= 0
Dance.Sector4.Position(i,:) = Scout.Position(i,:);
Dance.Sector4.Cost(i,:) = Scout.Cost(i,:);
Dance.Sector4.Position = Dance.Sector4.Position(all(Dance.Sector4.Position ~= 0,2),:);
Dance.Sector4.Cost = Dance.Sector4.Cost(all(Dance.Sector4.Cost ~= 0,2),:);
end
end if Dance.Sector1.Cost < GlobalBest.Cost
GlobalBest.Cost=Dance.Sector1.Cost;
GlobalBest.Position=Dance.Sector1.Position;
endend
The last if statement is my problem :(
Respuestas (1)
Image Analyst
el 2 de Nov. de 2017
0 votos
It's saying if the current cost is less than the master, overall, global cost, then replace the master, overall, global cost with the current cost. And also to record/log the position where that occurred. This will let you examine all the costs and find the overall lowest cost.
2 comentarios
Muhammad Hafiz
el 3 de Nov. de 2017
Editada: Muhammad Hafiz
el 3 de Nov. de 2017
Image Analyst
el 3 de Nov. de 2017
Well, there is no Cost field. Put a breakpoint there and then when it stops, examine the variable in the variable editor to see what fields it does have.
Categorías
Más información sobre Whos 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!