Function 一个函数的值,该函数接受一个本身就是函数的参数

Function 一个函数的值,该函数接受一个本身就是函数的参数,function,matlab,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_Yx^4+3,5,2,我面临一个错误:索引超过了矩阵维数。我怎样才能修好它?任何提示都将不胜感激。 非常感谢 我认为您只是语法有误-如前所述,您正在将数值x^4+3传递到Y\T中。我认为您需要的是: Y_T(@(x) x^4 + 3,

我正在尝试一个简单的函数,如下所示:

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_Yx^4+3,5,2,我面临一个错误:索引超过了矩阵维数。我怎样才能修好它?任何提示都将不胜感激。
非常感谢

我认为您只是语法有误-如前所述,您正在将数值x^4+3传递到Y\T中。我认为您需要的是:

Y_T(@(x) x^4 + 3, 5, 2)
这将定义一个,并将其传递给Y\u T

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

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

这是一个matlab问题吗。。。。如果是,那你为什么要在这里问它。。。。注意:阅读错误文本。。。。为什么你认为它与函数有关?语法应该是fun@fun_arg,arg1,…,argn,请不要忘记此处的“@”字符。