Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-29, 11:10   #1
zjm0184119
初级会员
 
注册日期: 2009-03-28
年龄: 24
帖子: 6
声望力: 0
zjm0184119 正向着好的方向发展
默认 求助,大家帮忙看下啊,谢谢各位了

我在做一个非线性约束优化,用的是fmincon函数
下面两个是M文件:
function f=fun(x)
f=80*x(1)^2+220*x(2)^2+130*x(3)^2+270*x(4)^2+130*x(5)^2+50*x(6)^2-2027520
上面是目标函数,我要求它的最小值
function[c,ceq]=mycon(x)
c=[5667837663/(x(2)^4-5308416)+21409535793/(x(3)^4-5308416)+119946300159/(x(4)^4-5308416)+239028895561/(x(5)^4-5308416)+10861837323/(x(6)^4-5308416)-26800;8799166/(x(4)^4-5308416)-1629475/(x(6)^4-5308416)-0.3;1822900/(x(5)^3-5308416/x(5))-60];
ceq=[];
上面是约束条件,只有非线性不等式约束
我在matlab命令窗口输入:
x0=[70;75;80;90;110;120];
lb=[0;0;0;0;0;0;0];
ub=[];
[x,fval,exitflag,output,lambda]=fmincon(@fun,x0,[],[],[],[],lb,ub,@mycon)
为什么他给我的一组结果就是我设的初始值啊,但我需要的是不同于初始值的解啊
我没学过matlab,现在做毕业设计要用才刚开始自学的,能不能麻烦各位帮我看一下我错在哪了呀,应该怎么解决啊。
麻烦各位了,谢谢!!
zjm0184119 当前离线   回复时引用此帖
回复

主题工具
显示模式

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

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



所有时间均为北京时间。现在的时间是 18:33


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.