Ich habe eine Simulation von Ameisen zwischen ihrer Heimat (Blackbox) und Nahrungsmittel (gelber Kasten) bewegt zu machen. Diese dreifarbigen Boxen sind Ameisen. Der Code, den ich geschrieben habe, die Figur zu zeichnen gezeigt folgt:
% background
background()
% making ants
handle = zeros(10,3)
handle = makingAnts(10) ;
% moving ants
movingAnts(hand)
Funktion Hintergrund:
function background()
figure
hold on
axis equal
axis([0 100 0 100])
pos = rand(1,2).*75
rectangle('position',[0 0 10 10],'facecolor','k')
rectangle('position',[pos 25 25],'facecolor','y')
end
Funktion machen Ameisen:
function [h] = makingAnts(n)
h = zeros(10,3)
dia = [2 2]
for i = 1:n
pos = rand(1,2).* 95 ;
h(i,1) = rectangle('position',[pos dia],'facecolor',[0.2 0.6 1])
g1 = get(h(i,1),'position')
h(i,2) = rectangle('position',[(g1(1)+2) (g1(2)+2) 2 2],'facecolor',[0.4 1 0.6])
h(i,3) = rectangle('position',[(g1(1)+4) (g1(2)+4) 2 2],'facecolor',[1 0.8 1])
end
end
Jetzt muss ich bewegen die Ameisen. Obwohl ich den Code geschrieben habe, funktioniert es nicht. Ich brauche Hilfe, um die Ameisen zu bewegen.
Der Code, den ich schrieb:
function movingAnts(h)
% moving 1 ant
pos = get(h(1),'position')
m = pos(1)
n = pos(2)
for i = 1:50
set(h(1),'position',[(m+0.2) (n+0.2) 2 2])
pause(0.05)
end
end
jemand kann erklären, warum Diese Frage hat so viele Upvotes bekommen? – robert
@ franz1 - Wahrscheinlich, weil es ein cooles Problem zu lösen ist, obwohl die Problembeschreibung nicht so ausführlich ist wie die Antworten in diesem Beitrag. – rayryeng