【问题标题】:Matlab load file in path of scriptMatlab在脚本路径中加载文件
【发布时间】:2016-04-08 16:18:45
【问题描述】:

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

【问题讨论】:

    标签: matlab relative-path


    【解决方案1】:

    函数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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-17
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多