是否可以在Matlab中定义一个函数处理函数作为参数的函数?
我已经尝试了
function x = name(@f,gh)
但是我收到一条错误消息,指出' @'。
中的语法无效答案 0 :(得分:2)
您不能在函数定义中使用涉及@
的语法。匿名函数句柄可以完成工作:
function x = SO_Example(h,gh)
x = h(gh);
您可以按如下方式调用该函数:
SO_Example(@(a)a.^2 , 2)
ans = 4
或者像这样:
h = @(a)a.^2;
SO_Example(h,2)
ans = 4
请参阅评论以获取更多解释