新的MATLAB版本用类方法覆盖了我的函数.我还能调用函数吗



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

function D = harmonic(A,B,C)

,重要的是,A被期望为double类型的矩阵。

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

有什么方法可以直接调用我的函数吗?忽略这个double.harmonic函数?我知道我可以从路径创建一个函数句柄,但这很麻烦。我正在寻找一个更优雅的解决方案或变通方法。最明显的是改变我的函数名,但这样我就会觉得被欺负了:- (.

将你的harmonic版本放入文件夹@double中,并确保文件夹@double在路径上位于toolboxsymbolicsymbolic@double的上方(这个新的double.harmonic来自符号工具箱)

这将迫使您的函数成为double方法,即它将是double.harmonic,而不是通用函数harmonic。在决定分派给哪个对象时,MATLAB会先考虑方法,然后再考虑泛型函数。因为你的double.harmonic和另一个都是方法,你的在道路上走在前面,你的会赢。嘭——吃吧,MATLAB!

相关内容

  • 没有找到相关文章

最新更新