Matlab addpath,genpath在Mac上不起作用?

时间:2014-11-19 21:00:10

标签: matlab

我有一个名为'/Users/me/myfolder'的文件夹,其中包含许多子文件夹。每个子文件夹都有.m或数据文件,其名称是唯一的。我做了addpath(genpath(userpath)),做了load('../data/filename')load('filename'),但我收到了错误:No such file or directory。无论我在哪个子文件夹,如何使用load('../data/filename')load('filename')执行文件或加载文件?

2 个答案:

答案 0 :(得分:2)

你的问题有点含糊不清。

  1. userpath并不一定指向/Users/me/myfolder
  2. userpath是“PATHDEF返回的文件夹列表中的第一个或多个文件夹,从而影响搜索路径”

    1. 是位于/Users/me/myfolder
    2. 的子目录中的'../data/filename'

      如果没有,那么它将不会在搜索路径上,你无法加载它,因为Matlab不知道该文件的位置!


      要正确添加/Users/me/myfolder及其所有子文件夹,请执行以下操作:

      addpath(genpath('/Users/me/myfolder'))

      然后确保filename位于该搜索路径上,如果不做同样的事情,并使用filename

      addpath()的路径添加到您的搜索路径

答案 1 :(得分:0)

在我的情况下userpath返回:

/Users/my_user/Documents/MATLAB:

但是genpath('/Users/my_user/Documents/MATLAB:')返回一个空字符串。问题是您需要删除冒号,因此,可能的解决方案可能是:

tmp = userpath
addpath(genpath(tmp(1,end-1)))