我用我自己的類my_class
像創造了MATLAB對象本如何找到由自己的類創建的對象?
car = my_class();
與
classdef my_class < handle
properties
color = 'red';
end
methods
function obj = my_class()
% ...
end
end
end
現在我想通過它的類(my_class
)或屬性,找到我的對象(color
)。但是findall
或findobj
總是返回一個空矩陣,無論我在做什麼。你有任何線索嗎?謝謝。
編輯我需要的是這樣的:
car1 = my_classA();
car2 = my_classA();
house1 = my_classB(); ... house25 = my_classB();
tree1 = my_classC(); ... tree250 = my_classC();
在我的代碼,我不能指手柄的名稱(如car2.color
),因爲我有很多不同的對象,我要搜索他們通過一個函數,看起來像下列操作之一:
loop over all objects (maybe with findobj/findall without knowing object name/handle)
if object is of class `my_classA`
get handle of `my_classA`
change `color`
else if object is of class `my_classB`
get handle of `my_classB`
do something ...
end
end
你爲什麼要這麼做?你的用例是什麼? –
我需要更改屬性或需要調用多個對象的方法。但是我需要首先在某種類型的循環或類似環境中搜索指定的對象,因爲我想通過它們的值而不是它們的句柄來獲取對象。 – Lemonbonbon
...但爲什麼你不收集數組中的那些對象呢? –