Matlab 以其他函数作为变量的函数

Matlab 以其他函数作为变量的函数,matlab,octave,Matlab,Octave,我必须写一个八度的函数,形式为f(fun,x,m),其中fun是另一个函数 但我有一个问题,我怎么能做这样的事?(将函数作为变量)您可以使用“函数句柄” 根据所给条款 handle=@functionname%返回指定MATLAB®函数的句柄 函数句柄是一个MATLAB值,它提供了一种间接调用函数的方法。可以在调用其他函数(通常称为函数)时传递函数句柄。您还可以将函数句柄存储在数据结构中供以后使用(例如,作为句柄图形回调)。函数句柄是标准的MATLAB数据类型之一 以下示例为内置的hump函数创

我必须写一个八度的函数,形式为f(fun,x,m),其中fun是另一个函数 但我有一个问题,我怎么能做这样的事?(将函数作为变量)

您可以使用“函数句柄”

根据所给条款

handle=@functionname%返回指定MATLAB®函数的句柄

函数句柄是一个MATLAB值,它提供了一种间接调用函数的方法。可以在调用其他函数(通常称为函数)时传递函数句柄。您还可以将函数句柄存储在数据结构中供以后使用(例如,作为句柄图形回调)。函数句柄是标准的MATLAB数据类型之一

以下示例为内置的
hump
函数创建函数句柄,并将其分配给变量
fhandle

fhandle = @humps;
现在,可以用传递任何参数的相同方式将句柄传递给另一个函数。本例将刚刚创建的函数句柄传递给
fminbnd
,然后在
[0.3,1]
的间隔内最小化

x = fminbnd(fhandle, 0.3, 1)
x =
    0.6370
您可以使用“函数句柄”

根据所给条款

handle=@functionname%返回指定MATLAB®函数的句柄

函数句柄是一个MATLAB值,它提供了一种间接调用函数的方法。可以在调用其他函数(通常称为函数)时传递函数句柄。您还可以将函数句柄存储在数据结构中供以后使用(例如,作为句柄图形回调)。函数句柄是标准的MATLAB数据类型之一

以下示例为内置的
hump
函数创建函数句柄,并将其分配给变量
fhandle

fhandle = @humps;
现在,可以用传递任何参数的相同方式将句柄传递给另一个函数。本例将刚刚创建的函数句柄传递给
fminbnd
,然后在
[0.3,1]
的间隔内最小化

x = fminbnd(fhandle, 0.3, 1)
x =
    0.6370

@你的建议不太好。请看-使用函数句柄的答案。请删除您的评论。@HelloWorld-您的建议不太好。请看-使用函数句柄的答案。请删除您的评论。非常感谢您的帮助:)非常感谢您的帮助:)