Can anyone help me ?
Ältere Kommentare anzeigen
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 :(
Antworten (1)
Image Analyst
am 2 Nov. 2017
0 Stimmen
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 Kommentare
Muhammad Hafiz
am 3 Nov. 2017
Bearbeitet: Muhammad Hafiz
am 3 Nov. 2017
Image Analyst
am 3 Nov. 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.
Kategorien
Mehr zu Whos finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!