我有一个函数在我的matlab路径的文件harmonic.m
原型:
function D = harmonic(A,B,C)
,重要的是,A
被期望为double类型的矩阵。
在r2014a版本中,显然MATLAB已经创建了一个新的内置类方法double.harmonic
。因此,当我调用我的函数时,我在错误的harmonic
中得到一个错误。这并没有帮助,我的harmonic
更接近路径列表(which harmonic
显示了我的路径),因为我的第一个输入是A
和harmonic(A,B,C)
似乎相当于A.harmonic(B,C)
。
有什么方法可以直接调用我的函数吗?忽略这个double.harmonic
函数?我知道我可以从路径创建一个函数句柄,但这很麻烦。我正在寻找一个更优雅的解决方案或变通方法。最明显的是改变我的函数名,但这样我就会觉得被欺负了:- (.
将你的harmonic
版本放入文件夹@double
中,并确保文件夹@double
在路径上位于toolboxsymbolicsymbolic@double
的上方(这个新的double.harmonic
来自符号工具箱)
double
的方法,即它将是double.harmonic
,而不是通用函数harmonic
。在决定分派给哪个对象时,MATLAB会先考虑方法,然后再考虑泛型函数。因为你的double.harmonic
和另一个都是方法,你的在道路上走在前面,你的会赢。嘭——吃吧,MATLAB!