wie erzeugt man eine verschachtelte Struktur
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hallo,
ich habe folgende Strukturen, z.B.
p1=struct('x',1,'y',1,'nn',{{}})
p2=struct('x',4,'y',2,'nn',{{}})
p3=struct('x',3,'y',6,'nn',{{}})
und möchte im Feld 'nn' die k nächsten Nachbarn eines Punkts speichern. Mit welcher Datenstruktur bzw. verschachtelten Struktur kann man in Matlab diese Aufgabe am besten lösen. In Java oder C++ würde ich die Klasse Punkt definieren.
Vielen Dank!
Lisa
0 Kommentare
Akzeptierte Antwort
Harald
am 16 Mai 2024
Hallo,
statt durchnumerierter Variablen würde ich eher ein Struct Array verwenden:
p(1)=struct('x',1,'y',1,'nn',{{}})
p(2)=struct('x',4,'y',2,'nn',{{}})
p(3)=struct('x',3,'y',6,'nn',{{}})
So oder so kann einem Feld einer Struktur wiederum eine Struktur zugewiesen werden, und so entsteht dann die gewünschte Verschachtelung.
p(1).nn = p(2)
bzw. bei deinem ursprünglichen Beispiel:
p1.nn = p2
Wenn dir Antworten weiterhelfen, bitte generell die Antworten "akzeptieren".
Viele Grüße,
Harald
2 Kommentare
Harald
am 21 Mai 2024
Hallo Lisa,
ich denke auch, dass die Handle-Klasse da empfehlenswert ist, siehe auch
Mein Stand zur Historie: es gab schon länger die Möglichkeit Klassen zu definieren, ca. in 2012 wurde das aber grundlegend überarbeitet und in den Folgejahren allmählich erweitert.
Viele Grüße,
Harald
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!