Problems with which function in 2021a vs 2016b
2 views (last 30 days)
I am having trouble getting file path of get methods using "which" function in 2021a. I don't encounter this problem in 2016b.
For example, I have a classX which has a method get.something:
- In 2016b : which('classX>get.Something') gives the full path of where classX is located.
- However in 2021a : which('classX>get.Something') says that get.Something not found.
I have tried many things but not been able to make it work. I am a relatively new to matlab so any help will be appreciated.
Prasanna Konyala on 1 Apr 2022
MATLAB calls get and set methods when any code accesses the properties.
Property access methods do not appear in the list of class methods returned by the methods command and are not accessible through which command. These are also not included in the meta.class object Methods property. This is documented behavior. If you want to get path, you can use function handles for getters and setters.
mc = ?ClassName;
mp = findobj(mc.PropertyList,'Name',PropertyName’);
fh = mp.GetMethod;
fh is function handle for the get method and it can help you locate the code