【发布时间】:2016-08-14 07:21:43
【问题描述】:
可能是一个基本的错误,但原因是我无法理解。我正在尝试导入一个包,但我收到一条错误消息,提示无法找到或导入它。
首先我将当前目录设置为包的父目录,这样不行。
其次,文档说必须将包的父文件夹添加到matlab路径中。我试过了,还是不行。
这不是因为使用 plot 作为包名,因为我在尝试导入 analysis 时遇到了同样的错误。
我可以做的是使用:import plot.* 或import analyse.* 导入,然后继续使用包中的函数,但我想使用命名空间(即不使用.*)。
编辑 我安装的两个版本都有这个问题:2015b 和 2016a。
【问题讨论】:
-
发布包的链接?关于您对
addpath(a) 的使用,它仅适用于当前会话。使用savepath使其永久化,并且(b)它不会包含子文件夹,使用genpath像这样addpath(genpath(pwd))(from theaddpathdocs) -
但是你想怎么用呢?我问是因为你也可以把它变成一个工具箱,即在文件夹名称中去掉
+,并根据你的用例使用addpath(genpath...语法 -
除非我误解了,否则我仍然认为您不需要使用
import,除非您只想将一部分打包到您的路径中。来自these docs,我认为您当前的addpath(pwd)应该可以使用,并且您应该能够使用analyse.testFunc。文档声明对包中的包、函数和类的所有引用都必须使用包名前缀, 除非你导入 包。 -
documentation 的右下角有一个“这有帮助吗”部分,单击否,您可以写信给他们解释您的困惑是什么。这是 MATLAB 专有的优势之一,他们确实会回应有关文档的反馈。