Piszę skrypt Matlab, w którym mam kilka obiektów o tej samej zdefiniowanej przez siebie klasie, na przykład A
, B
i C
. Następnie mam funkcję, która działa na dowolnym z 2 obiektów, takich jak func(A,B)
.Jak utworzyć tablicę wskaźników do obiektów w Matlab?
Teraz chcę wybrać obiekt, na przykład A
, a następnie func(A,x)
przez wszystkie pozostałe obiekty. Zasadniczo uzyskaj coś takiego:
func(A,B)
func(A,C)
A.update()
func(B,A)
func(B,C)
B.update()
...
Potrzebuję utworzyć tablicę wszystkich obiektów, przez które mogę przechodzić, a jednocześnie oczywiście wyłączyć. Próbowałem to zrobić z macierzy komórkowej, tak mam:
AllObjs = {A,B,C}
for i=1:length(AllObjs)
if ~isequal(A, AllObjs{i})
func(A, AllObjs{i})
end
end
A.update()
Jednak gdy A
jest zaktualizowane, zostanie A
w AllObjs
nie pobierać aktualizacje. Tak więc dla następnej pętli muszę stworzyć nową tablicę wszystkich obiektów. Jest to wykonalne w tym prostym przykładzie, ale nie można nim zarządzać, gdy obiekty są aktualizowane w innym miejscu. Chciałbym mieć szereg wskaźników do wszystkich obiektów. Moja wyszukiwarka Google mówi mi, że w Matlabie nie ma wskaźnika, ale czy jest jakiś sposób, aby osiągnąć to, co chcę tutaj zrobić?
Nie moja klasa nie posiada 'handle'. Czy są jakieś dokumenty na temat tego, co robi? – LWZ
W dokumentach matlab jest dużo i zobacz https://stackoverflow.com/q/6436539/4196396 – matlabgui