Matlab中两个同名函数
Posted
技术标签:
【中文标题】Matlab中两个同名函数【英文标题】:Two functions with same name in Matlab 【发布时间】:2014-06-06 07:29:13 【问题描述】:我在 matlab 中使用 libsvm,我正在尝试调用 svmtrain
。但是我知道 Matlab 也有一个名为svmtrain
的内置函数。我相信他们以不同的顺序采用相同的参数。我怎么知道 matlab 正在调用哪个函数?我想从 libsvm 调用 svmtrain
函数。我如何确保这会发生?
【问题讨论】:
为确保您从libsvm
调用svmtrain
,只需将libsvm
的路径及其子目录添加到MATLAB 搜索路径的顶部,以防svmtrain
不在主目录 - addpath(genpath(LIBSVM_PATH))
有关添加路径的一些信息是 here
【参考方案1】:
如果你有两个同名的函数,Matlab 将调用靠近PATH
头部的那个。因此,如果您从不同的目录调用 svmtrain
,您可能会调用不同的函数,即使您所做的唯一更改是更改当前工作目录。
要知道matlab实际使用的是哪个函数,从命令行调用函数which
:
>> which svmtrain
【讨论】:
以上是关于Matlab中两个同名函数的主要内容,如果未能解决你的问题,请参考以下文章