带有参数的函数的值本身就是一个函数

时间:2018-10-07 18:38:25

标签: function matlab

我正在尝试以下简单功能:

function out=Y_T(f,a,b)
  Y_T=f(a)-f(b)
end

f是一个参数,它本身就是一个函数。例如f = x ^ 4 + 3。函数T_Y应该评估“ a”和“ b”中的f值并将其相减。但是,当我尝试使用此函数(例如T_Y(x ^ 4 + 3,5,2))时,我遇到了一个错误:索引超出了矩阵维。我该如何解决?任何提示将不胜感激。 非常感谢。

1 个答案:

答案 0 :(得分:1)

我认为您只是语法错误-按照书面规定,您正在将数字值x^4 + 3传递到Y_T中。我认为您需要的是:

Y_T(@(x) x^4 + 3, 5, 2)

这定义了anonymous function,并将其传递到Y_T

您对Y_T的定义也略有错误-您需要将结果分配给out,如下所示:

function out=Y_T(f,a,b)
  out=f(a)-f(b)
end