如何在Matlab的工作目录中包含./DirA/DirB/Here?

时间:2016-07-07 16:56:22

标签: matlab path

我做

  • 按"运行"要运行的函数中的符号,只需将工作目录更改为函数的位置即可。
  • 但是,该功能会更改工作目录。

    function hello(start,end)
    
    if (exist('old_path', 'var') == 0) 
    
        [old_path]=which('rdsamp');if(~isempty(old_path)) rmpath(old_path(1:end-8)); end
        wfdb_url='http://physionet.org/physiotools/matlab/wfdb-app-matlab/wfdb-app-toolbox-0-9-9.zip';
        [filestr,status] = urlwrite(wfdb_url,'wfdb-app-toolbox-0-9-9.zip');%Octave users may have to download manually
        unzip('wfdb-app-toolbox-0-9-9.zip');
        cd wfdb-app-toolbox-0-9-9;cd mcode
        addpath(pwd);savepath ./pathdef.m
    end
    end
    

运行函数后的路径

enter image description here

我很困惑如何管理与您的工作目录相关的wfdb代码。

Suever的提议

  • 如果在Matlab的路径中添加hello.m,则可以使用
  • 如果不在Matlab的路径中添加hello.m,则无效。

系统:Ubuntu 16.04
Matlab:2016a

1 个答案:

答案 0 :(得分:1)

不要更改代码中的目录。而是从代码中将工具箱目录添加到路径中。您可以将目录作为字符串传递给addpath,而不是使用pwd

addpath(fullfile('wfdb-app-toolbox-0-9-9', 'mcode'))

还可以考虑将hello.m所在的路径添加到路径中(或首先导航到该目录),然后从命令行将其作为hello运行,而不是按下运行按钮。