前段时间遇到一个问题,如何实现匿名函数重载,四处求解未果。。。然后自己研究出了解决方法,还是自己动手,丰衣足食啊。。。
我的方法不算是真正的重载,不过MATLAB的函数重载本身就不算是真正的重载,能用就行。
当时举的例子是
这是可以实现的,方法是在定义重载函数overloaded_fun的时候,在前面加一句
在判断输入变量数量的时候不使用 换成
这样定义匿名函数 调用的时候跟一般函数有点不一样,需要这样调用
我的方法不算是真正的重载,不过MATLAB的函数重载本身就不算是真正的重载,能用就行。
当时举的例子是
这是可以实现的,方法是在定义重载函数overloaded_fun的时候,在前面加一句
在判断输入变量数量的时候不使用 换成
这样定义匿名函数 调用的时候跟一般函数有点不一样,需要这样调用
这样就实现了匿名函数的重载。
可能看起来比较难以理解,我制作了一个例程,感兴趣的可以下载运行试试。
下载链接: https://pan.baidu.com/s/1c2Ci3hI 密码: upfv
当然如果重载函数的第一个输入变量是cell型数据,这个程序就会出现问题,不过本身匿名函数重载这种事之前就没听说过,应该没什么需求,就不赘述了。