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 对象的属性及其值,为调试和日志记录提供帮助。