2

我在最新的 MATLAB 版本中使用了函数 dtw,并且想调整它的一些部分。首先,我输入:

edit dtw

我将生成的代码保存到名为 dtw_Copy.m 的文件中,并将函数的名称也更改dtw_Copy为。在第 90 行附近,使用一组输入参数x和逐行浏览代码:y

[metric, varargin] = getmutexclopt({'absolute','euclidean','squared','symmkl'},'euclidean',varargin);

我收到一条错误消息:

'cell' 类型的输入参数的未定义函数 'getmutexclopt'。

如果我没有逐行检查代码,我也会收到此错误消息,只需dtw_Current(x,y)在再次测试一组输入参数xy.

运行时:

help 'getmutexclopt'

表示getmutexclopt没有找到。我也试过:

edit 'getmutexclopt'

但有人告诉我 currentDirectory/getmutexcloptm.m 不存在。

我试过了:

which getmutexclopt

并被告知getmutexclopt没有找到。

在网上搜索,我发现了一个似乎可以直接解决此错误的资源。该资源建议确保已安装工具箱。我不确定哪个工具箱支持该功能,因此我在网站getmutexclopt中输入了功能名称。这将导致一条消息:“您的搜索 - getmutexclopt - 没有匹配任何文档。”

该资源还建议验证用于访问该函数的路径。我按照说明进行操作,然后输入:

which -all getmutexclopt

我收到:

currentDirectory\matlab\toolbox\signal\signal\private\getmutexclopt.m  % Private to signal

这似乎表明该函数在信号工具箱中,这是私有的?是否有可能仍然运行dtw_Current(x,y)和/或逐行运行其内容?

4

1 回答 1

1

是的,这个问题是因为函数getmutexclopt私有函数。如果您希望从dtw. 它似乎是一个基本功能(edit private/getmutexclopt.m在您的命令行窗口中输入),因此您可以将其作为子功能添加到您的dtw_Copy/dtw_Current中。

另请参阅此问题- 不允许将私有函数添加到搜索路径。

于 2016-06-15T19:52:03.757 回答