首页 > 解决方案 > 接受一个参数的函数的值,该参数本身就是一个函数

问题描述

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

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) 我面临一个错误:索引超出矩阵维度。我该如何解决?任何提示将不胜感激。非常感谢。

标签: functionmatlab

解决方案


我认为您只是语法错误-正如所写,您将数值传递x^4 + 3Y_T. 我认为你需要的是:

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

这定义了一个匿名函数,并将其传递给Y_T.

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

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

推荐阅读