复制句柄类的MATLAB对象

复制句柄类的MATLAB对象,matlab,Matlab,我在MATLAB中实现了一个句柄类,并尝试通过调用以下两个函数来复制该类的对象: objByteArray = getByteStreamFromArray(obj); newObj = getArrayFromByteStream(objByteArray); 但有时我会遇到以下错误: 使用GetArrayFromByTestStream时出错 无法读取数据流,因为数据包含错误的版本或endian键 有没有其他方法可以复制句柄类的对象?因为您使用的是句柄类,所以可以从matlab.mixin

我在MATLAB中实现了一个句柄类,并尝试通过调用以下两个函数来复制该类的对象:

objByteArray = getByteStreamFromArray(obj);
newObj = getArrayFromByteStream(objByteArray);
但有时我会遇到以下错误:

使用GetArrayFromByTestStream时出错 无法读取数据流,因为数据包含错误的版本或endian键


有没有其他方法可以复制句柄类的对象?

因为您使用的是句柄类,所以可以从
matlab.mixin.Copyable
继承类,这将为您的类提供一个可自定义的
copy
方法

默认情况下,
copy
方法将实现类属性的浅层副本(即,如果类属性本身是句柄类,则副本将引用原始属性),但您可以自定义复制操作以实现深度复制(即,对类属性也执行复制操作)


.

的文档说明。为什么您要尝试使用未记录的内部功能,用于将类保存到二进制文件,只是为了复制变量?仅用于句柄对象(与值类对象不同)的newcopyofobj=obj有什么问题
newcopyofobj=obj
只是创建一个对旧obj的引用。我所说的类是从handle继承的。对不起,我不太清楚。@samroberts谢谢@MarioKoddenbrock。如果答案对您有帮助,请单击答案左侧的勾号将其标记为已接受。这有助于其他人找到它。