求高手指导matlab fmincon函数 Not enough input arguments.

求高手指导matlab fmincon函数 Not enough input arguments.
fun.m文件,如下:
function f=fun(x)
f=0.39*(x(1)^2-x(2)^2);
mycon.m文件,如下:
function[c,ceq]=mycon(x)
c=[3.737*x(1)/(x(1)-x(2))-40;39000*x(1)/(x(1)^2+x(2)^2)-60;5.36/(x(1)^4-x(2)^4)-0.8;8.125/(x(1)^2+x(2)^2)-0.124;x(2)-x(1)+3;x(1)-x(2)-13];
ceq=[];
在命令窗口输入:
x0=[26;14];
lb=[0;0];
ub=[];
[x,fval,exitflag,output]=fmincon(fun,x0,[],[],[],[],lb,ub,@mycon)
enter之后出现:
Error using fun (line 2)
Not enough input arguments.
请教是什么问题?本人是matlab菜鸟,求教!!
解决问题了可以追加分

Not enough input arguments.没有足够的输入参数。
问题出在,fmincon()格式不对。fun前少加一个@符号
应为 [x,fval,exitflag,output]=fmincon(@fun,x0,[],[],[],[],lb,ub,@mycon)追问

我也发现了这个问题,不过这个不是关键

追答

最根本的问题,你给出的条件是否合理,即mycon。m文件里的条件,那只有你最清楚了。按你现在的条件,求出的解不是最佳值。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-28
注意在英文格式下输入追问

本来就在英文格式下输入的

本来就在英文格式下输入的

求高手指导matlab fmincon函数 Not enough input arguments.
Not enough input arguments.没有足够的输入参数。问题出在,fmincon()格式不对。fun前少加一个@符号 应为 [x,fval,exitflag,output]=fmincon(@fun,x0,[],[],[],[],lb,ub,@mycon)

求高手指导matlab fmincon函数 Not enough input arguments.
是没有足够的输入参数的提示,没有给出x是什么,解决方法是在“[x,fval,exitflag,output]=fmincon(fun,x0,[],[],[],[],lb,ub,@mycon) ”的fun的前面加个@;还有就是fun函数的第一行的括号应改用英文符输入;输出的结果为 x = 286.7422 267.6533 fval = 4.1273e+003 exitflag = ...

matlab:Error using fun (line 22) Not enough input arguments.
警告:Not enough input arguments。其意思为输入参数不足。问题出在这个语句上, Beq=[1,R].'; 缺 R 的数值。这里R是个具体的数据,而不能是一个变量。

matlab中的fmincon函数运行出错,老是显示最后一句话不对,求大神指导
matlab中的fmincon函数运行出错的最大问题是,k、p不能是变量,而是一个具体的数值。建议这样来改代码 k=0.95717,p =0.48538 syms k A=[1 -1;k+2 -2;k -2*k];b=[0;k-1;1-k];Aeq=[];beq=[];lb=[0;0];ub=[1;1];x0=[0.5;0.5];[x,fval,exitflag]=fmincon(@(x)my...

...requires at least four input arguments.”怎么办
1、函数fmincon的输入参数至少要有4个,即 x = fmincon(fun,x0,A,b)你现在遇到的报错就是这个原因。在有非线性约束的情况下,基本调用格式为 x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)至于那些线性等式约束、不等式约束以及参数上下限约束,如果不存在,要用空数组占位,而不是想当然地...

使用matlab中fmincon函数遇到了问题!运行后出现的提示如下,请高手解 ...
错误是没有定义函数或者‘mtimes’有关输入的参数类型有问题

...example (line 2) Not enough input arguments.求大神解答
该程序是一个函数脚本,调用该函数时不能直接点击执行按钮,需要语句调用该函数,及m,ts,df需要赋予具体的值才能运行;提示的错误信息是你调用该函数时缺少函数输入变量。

最近在用matlab里的fmincon这个函数,老是出现错误
选择的优化函数有问题。

关于matlab最优化中fmincon函数
主函数:[x,fval]=fmincon(@cdz_f,x0,a,b,[],[],lb,ub,@cdz_y,options)辅助函数(非线性约束)function[c,ceq]=cdz_y(x);c = 154.34*x(1)\/(x(1)^4-x(2)^4)-((x(1)-x(2))\/x(1))^(3\/2);ceq=[];

matlab中fmincon函数中不含等号的边界值怎么设置?
1、约束条件如果不含等号,意味着可行域(所有符合约束条件的点构成的集合)不是一个闭集(closed set)。很多看起来很简单的函数在闭集上有最优解,但在非闭集上却未必有解,例如,minimize f(x)=x 如果约束条件是x>=0,则很显然最优解为x=0。然而,如果约束条件改成x>0,则该问题无解,这...

相似回答