Some specific things available in Matlab object-oriented programming can only be done with custom Matlab classes when you inherit from the Matlab built-in handle class. This includes for example adding dynamic properties, listeners etc.
There is no default method to create a copy of an object of such a 'handle-class'. Using the simple assignment (e.g. y=x) in that case only copies the handle (=the pointer) to the object.
This simple workaround uses the built-in save function to create a new object which is a copy of the original object.
The provided function does at the moment only work with Matlab Pre-Release PR2008b which solves a previous bug in the built-in 'save' function.
Holger Hiebel (2020). copymyobj (https://www.mathworks.com/matlabcentral/fileexchange/20972-copymyobj), MATLAB Central File Exchange. Retrieved .