Matlab加载脚本路径中的文件

Matlab加载脚本路径中的文件,matlab,relative-path,Matlab,Relative Path,我有一个matlab脚本,它想加载一个.mat文件,该文件位于相对于脚本位置固定的目录中。脚本本身可能位于相对于当前工作目录的不同位置,因此相对于它,.mat文件的位置未知。如何指定要加载的文件相对于正在执行的脚本的位置?该函数返回当前运行的脚本的名称。但是,这不会返回脚本的完整路径。您可能需要这样做,因此可以指定'fullpath'选项以返回实际脚本本身的完整路径,包括脚本名称 您只需要文件所在的实际目录,因此首先使用mfilename获取实际文件的完整路径,然后使用实际提取文件所在的实际目录

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

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

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

p = mfilename('fullpath');
[pathstr,~,~] = fileparts(p);
d = fullfile(pathstr, 'path', 'to', 'your', 'file.mat');
生成一个独立于操作系统的目录字符串,因此对于要指向
.mat
文件的每个子目录,将它们作为单独的输入字符串放置,直到到达所需的文件为止
d
将包含
.mat
文件相对于当前运行脚本的完整路径,然后您可以使用该路径相应地
加载