在 Matlab 开发中,有时需要将类实例转换为字符串表示。为了实现这一功能,可以为 Matlab 类实例创建一个递归字符串转换函数。这个函数的目的是能够自动遍历对象中的属性,并生成一个可读的字符串表示。以下是一个简单的实现方法:
function str = objectToString(obj)
str = class(obj); % 获取对象的类名
propertiesList = properties(obj); % 获取对象的所有属性
for i = 1:length(propertiesList)
propName = propertiesList{i};
propValue = obj.(propName);
% 如果属性值本身是对象,则递归调用
if isobject(propValue)
propValueStr = objectToString(propValue);
else
propValueStr = num2str(propValue);
end
str = strcat(str, sprintf(' %s: %s', propName, propValueStr));
end
end
这段代码通过递归的方式处理对象属性,确保即使属性本身是另一个对象时,也能正确地转化为字符串。
通过这种方式,可以方便地查看 Matlab 对象的属性及其值,为调试和日志记录提供帮助。