使用函数处理程序定义函数作为参数

时间:2016-01-18 10:55:30

标签: matlab function-handle

是否可以在Matlab中定义一个函数处理函数作为参数的函数?

我已经尝试了

function x = name(@f,gh)

但是我收到一条错误消息,指出' @'。

中的语法无效

1 个答案:

答案 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

请参阅评论以获取更多解释