我有一个名为'/Users/me/myfolder'
的文件夹,其中包含许多子文件夹。每个子文件夹都有.m或数据文件,其名称是唯一的。我做了addpath(genpath(userpath))
,做了load('../data/filename')
和load('filename')
,但我收到了错误:No such file or directory
。无论我在哪个子文件夹,如何使用load('../data/filename')
或load('filename')
执行文件或加载文件?
答案 0 :(得分:2)
你的问题有点含糊不清。
userpath
并不一定指向/Users/me/myfolder
userpath
是“PATHDEF返回的文件夹列表中的第一个或多个文件夹,从而影响搜索路径”
/Users/me/myfolder
如果没有,那么它将不会在搜索路径上,你无法加载它,因为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)))