6

harmonic.m我的matlab 路径中的一个文件中有一个函数,带有原型:

function D = harmonic(A,B,C)

其中,重要的A是,预计将是 double 类型的矩阵。

在 r2014a 版本中,显然 MATLAB 已经创建了一个新的内置类方法double.harmonic。因此,当我调用我的函数时,我在 wrong 中得到一个错误harmonicharmonicmy在路径列表中更接近(显示我的路径)并没有帮助,which harmonic因为我的第一个输入是A并且harmonic(A,B,C)似乎等同于A.harmonic(B,C).

有没有办法直接调用我的函数?要忽略这个double.harmonic功能?我知道我可以从路径创建一个函数句柄,但这很讨厌。我正在寻找更优雅的解决方案或解决方法。最明显的是更改我的函数的名称,但是我会感到被欺负:-(。

4

1 回答 1

2

将您的版本harmonic放入文件夹@double中,并确保您的文件夹@double位于路径上方\toolbox\symbolic\symbolic\@double(这个新文件夹double.harmonic来自 Symbolic Toolbox)。

这将迫使您的函数成为一个方法double即它将会是double.harmonic,而不是一个通用函数harmonic。在决定分派到哪个东西时,MATLAB 将首先考虑方法,然后再考虑泛型函数。由于你double.harmonic和另一个都是方法,并且你的方法领先,你的方法会赢。BAM - 吃那个,MATLAB!

于 2014-05-02T22:04:18.437 回答