返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 特色讨论区:工程数学软件-不仅仅是MATLAB! > MATLAB论坛


MATLAB论坛 一切MATLAB相关问题在此讨论,发帖时必须选择相应主题前缀:MATLAB基础,MATLAB混合编程,MATLAB数学问题,MATLAB工具箱,MATLAB图像处理,MATLAB GUI,MATLAB毕业设计,Simulink相关等。



回复
 
LinkBack 主题工具 显示模式
旧 2018-07-22, 07:14 PM   #1
初级会员
 
注册日期: 2018-07-22
帖子: 1
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
oceancorner 正向着好的方向发展
默认 求助输入参数数目不足且目标函数有错的问题谢谢!

在做求最优解的非线性规划问题,之前用fmincon结果不够理想,但还是有结果,之后用了globalsearch, 代码和出错如下,请教是哪里有问题?如何修改?谢谢!

opts1=optimset('Algorithm','sqp');
problem=createOptimProblem('fmincon','objective',fun,'x0',[14,25,15,23,18,44000,43500,43000,42500,42000],'Aineq',[],'bineq',[],'Aeq',[],'beq',[],'lb',[10,10,10,10,10,40000,40000,40000,40000,40000],'ub',[],'nonlcon',nonlinearcondition,'options',opts1);
gs=GlobalSearch;
[x,fval]=run(gs,problem)
输入参数的数目不足。

出错 fun (line 2)
f=50000-(1400000-0.103075*x(1)^2*x(6)^(2/3)-0.103075*x(2)^2*x(7)^(2/3)-0.103075*x(3)^2*x(8)^(2/3)-0.103075*x(4)^2*x(9)^(2/3)-0.103075*x(5)^2*x(10)^(2/3))/(5.83/x(1)+5.83/x(2)+5.83/x(3)+5.83/x(4)+5.83/x(5)+2);




注:fun是目标函数,m文件如下:
function f=fun(x)
f=50000-(1400000-0.103075*x(1)^2*x(6)^(2/3)-0.103075*x(2)^2*x(7)^(2/3)-0.103075*x(3)^2*x(8)^(2/3)-0.103075*x(4)^2*x(9)^(2/3)-0.103075*x(5)^2*x(10)^(2/3))/(5.83/x(1)+5.83/x(2)+5.83/x(3)+5.83/x(4)+5.83/x(5)+2);
end



共10个变量
oceancorner 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 10:08 AM


Powered by vBulletin
版权所有 ©2000 - 2018,Jelsoft Enterprises Ltd.
陕ICP备07001583号

SEO by vBSEO ©2009, Crawlability, Inc.