Hallo zusammen, ich möchte einen pfad aufstellen lassen wie sich ein würfel entfalten lässt hierzu folgender beispielcode
Code:
%Nachbarschaftsmatrix aus vorheriger Berechnung [Element Nachbarelement1-4]
neighbors=[12345; 21346; 31256; 41256;...
51246; 62345];
start_element=1;
remaining_els=[1;2;3;4;5;6];
remaining_els(remaining_els(:,1)==start_element)=[];
number_remaining_els=size(remaining_els,1);
ref_els=start_element;
%ersetzt Nachbarn/Kinder in neighbors-Matrix mit 0, damit sie
%nicht mehr als Nachbarelemente gefunden werden können
ersetzen = neighbors(:,2:5) == ref_els;
neighbors([false(size(neighbors,1),1), ersetzen]) = 0;
tree=[];
while number_remaining_els ~= 0
%ifsize(ref_els(1,:)) ~= 0 for i=1:length(ref_els)
ref_element=ref_els(i);
%speichert Elternelemente in neue Zeilen
tree(end+1,1)=ref_element;
%findet Nachbarn/Kinder der Elternelemente und speichert
%Nachbarn in Spalten 2:5
border_els=neighbors(ref_element,2:5);
if border_els == [0000] break end
tree((tree(:,1)==ref_element),2:5)=border_els(1:4);
%ersetzt Nachbarn/Kinder in neighbors-Matrix mit 0, damit sie
%nicht mehr als Nachbarelemente gefunden werden können
for j=1:length(border_els)
ersetzen = neighbors(:,2:5) == border_els(j);
neighbors([false(size(neighbors,1),1), ersetzen]) = 0;
end
%löscht bearbeitetes Elternelement aus Liste verbleibender
%Elemente
remaining_els(remaining_els(:,1)==ref_element)=[];
end
%macht Kinder zu Eltern in nächstem Durchlauf
border_els(border_els==0)=[];
ref_els=border_els;
number_remaining_els=size(remaining_els,1);
% end end
tree
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.