You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用fmincon()调用目标函数时出现输入参数不足错误的求助

fmincon调用报错“Not enough input arguments.”的原因及解决办法

错误根源在于你调用fmincon时,直接传入了objFun这个函数名,Matlab会将其视为立即执行函数调用,而非供fmincon后续调用的函数句柄。此时没有给objFun传入任何参数,自然触发“输入参数不足”的错误——这和你手动调用objFun(x0)时传入了x0能正常运行的逻辑一致。

解决方法很简单,把函数名改成函数句柄形式,用@前缀标记:

[x, fval] = fmincon(@objFun, x0, [1;2],1,[],[],[0; -inf],[inf, 0]);

修改后,fmincon会在优化过程中自动将当前迭代的x值传入objFun,就能正常执行优化计算了。

内容的提问来源于stack exchange,提问作者jerH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:55:20