wie erzeugt man eine verschachtelte Struktur
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Harald
2024-5-16
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 个评论
Harald
2024-5-21
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
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!