我最近一直在使用Matlab。我的问题源于我几个月的使用,这是我似乎无法解决的问题。我有一个外部SVM工具箱(OSU-SVM),我想与我的项目进行交互。当我手动添加工具箱的路径时,我能够使整个系统正常工作(右键单击 - >添加到路径 - >选定的文件夹和子文件夹)。我想要做的是在脚本中添加文件夹。我已经尝试了“addpath”命令,但由于某种原因,我无法找到相对于我运行命令的m文件(脚本)的库。以下是代码示例:
% Add OSU SVM system
addpath(genpath('./osu-svm/'));
我想使用相对文件夹将路径添加到M文件的原因是代码需要在不安装工具箱的不同环境中运行。代码也将在与我正在开发的操作系统不同的操作系统中执行。也就是说,我正在运行Windows Matlab来开发代码,并且需要在Linux机器上运行完成的系统。运行我的文件的过程需要尽可能轻松,并且不需要用户提供太多输入。这就是为什么我特意试图避免手动添加路径。
另一方面,当我希望使用相对路径使用“uigetfile”时,会出现类似的问题。我相信我遗失的东西会帮助我同时解决这两个问题。任何帮助将不胜感激。
答案 0 :(得分:2)
单独使用“./osu-svm/”代替
fullfile('.','osu-svm')
它在Windows上不起作用的原因是您正在使用正斜杠文件分隔符。完整文件将生成包含每个操作系统的正确文件分隔符的文件字符串。
matlab文档中的genpath示例也使用fullfile http://www.mathworks.co.uk/help/techdoc/ref/genpath.html
此外,'。'有点不必要,因为它只是意味着“相对于当前目录”,并且可以不在命令之外。也许你的意思是一个目录?
'..'
???