我是 Matlab 的新手,我正在尝试在 matlab 中编写自定义函数,它将函数句柄作为其参数之一。我一直收到这个错误:
Error using subsindex
Function 'subsindex' is not defined for values of class 'function_handle'.
尝试调试我执行了以下测试:我运行命令x = fminbnd(@humps, 0.3, 1)
。我按预期进行 - 我得到了结果x = 0.6370
。所以我创建了自定义函数train
,并将所有函数代码复制fminbnd
到文件train.m
中。我唯一更改的是名称,因此函数代码fminbnd
和train
现在除了名称相同。
现在我使用相同的参数运行这两个函数,并且自定义函数抛出错误,而原始函数fminbnd
返回正确答案。这是代码:
>> x = fminbnd(@humps, 0.3, 1)
x =
0.6370
>> x = train(@humps, 0.3, 1)
Error using subsindex
Function 'subsindex' is not defined for values of class 'function_handle'.
这是函数的标题train
(其他所有内容都是从 复制的fminbnd
):
function [xf,fval,exitflag,output] = train(funfcn,ax,bx,options,varargin)
哪里有问题?