首页 > 解决方案 > 从文件加载 MATLAB 对象

问题描述

在 MATLAB 中,我从文件中加载自定义类对象。它包含对其他文件的引用,这些文件应该位于目标文件旁边的驱动器上。有没有办法获取初始化期间加载对象的文件的位置?

例子:

谢谢!

标签: matlaboopobject

解决方案


您可以创建自定义加载功能,即

function obj = loadMyObj( filepath )
    data = load( filepath );
    obj = data.obj; % load returns the object "obj" in a struct
    obj.filepath = filepath;
end

然后使用loadMyObj而不是load.

当然,这要求您的对象具有该filepath属性,但如果您希望它保留加载它的位置,这是给定的。

另一种选择可能是将这种行为放入对象的类构造函数中,然后调用类似

obj = myClass( 'C:\some\path\file.mat' );

构造函数在哪里加载文件,分配存储在文件中的属性,并存储路径。


推荐阅读