Matlab在脚本路径中加载文件

时间:2016-04-08 16:18:45

标签: matlab relative-path

我有一个matlab脚本,希望load .mat文件位于相对于脚本位置目录中。脚本本身可能位于相对于当前工作目录的不同位置,因此.mat文件的位置相对于它是未知的。如何指定要相对于正在执行的脚本加载的文件的位置?

1 个答案:

答案 0 :(得分:4)

函数mfilename返回当前正在运行的脚本的名称。但是,这不会返回脚本的完整路径。您可能想要这样,因此您可以指定'fullpath'选项以返回实际脚本本身的完整路径,包括脚本的名称。

您只需要文件所在的实际目录,因此首先使用mfilename获取实际文件的完整路径,然后使用fileparts实际提取实际目录的位置文件是。 fileparts返回文件所在的目录,文件名本身和扩展名。您只需要第一个输出参数,而不关心其他输出。完成后,您可以使用实际目录,然后将此字符串附加到.mat文件的位置:

p = mfilename('fullpath');
[pathstr,~,~] = fileparts(p);
d = fullfile(pathstr, 'path', 'to', 'your', 'file.mat');

fullfile构建一个独立于操作系统的目录字符串,因此对于要指示转到.mat文件的每个子目录,请将它们作为单独的输入字符串放置,直到找到所需的文件为止。 d将包含.mat文件相对于当前正在运行的脚本的完整路径,然后您可以相应地将其用于load