24小时热门版块排行榜    

查看: 1099  |  回复: 11

edda_zhang

金虫 (小有名气)

[求助] 求助:帮忙做个matlab优化计算

大家帮忙给计算一下!
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : matlab优化a.doc
  • 2012-04-25 09:41:54, 73.5 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edda_zhang

金虫 (小有名气)

高手快出来!
2楼2012-04-25 10:40:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nandehutu9327

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
应用MATLAB中的fmincon命令可求解你的约束非线性规划问题。
3楼2012-04-25 12:06:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edda_zhang

金虫 (小有名气)

目标函数:
minf=√(〖x1〗^2+〖x2〗^2+〖x3〗^2+〖x4〗^2 )-√(〖(x1-x3)〗^2+〖(x2-x4)〗^2 )
约束条件
sub.to
X0=(177 517 86 95) %初始值
49.876 ((〖x3〗^2+〖x4〗^2)(x1*x4-x2*x3))/√((〖x3〗^2+〖x4〗^2 )[(〖x1+x3)〗^2+〖(x2+x4)〗^2])-34.482((〖x3〗^2+〖x4〗^2)(x1*x4-x2*x3))/√((〖x3〗^2+〖x4〗^2 )[(〖x1-x3)〗^2+〖(x2-x4)〗^2])-+140≤0
X1>0,x2>0,x3>0,x4>0
编写的m文件
function f =myfun(x)
%目标函数
a=sqrt(x(1)^2+x(2)^2+x(3)^2+x(4)^2)
b=sqrt((x(1)-x(3))^2+(x(2)-x(3))^2)
f=a-b
end

function [c,ceq]=mycon(x)
%约束条件
a=(x(1)*x(4)-x(2)*x(3))*sqrt(x(3)^2+x(4)2)
b=(x(1)-x(3))^2+(x(2)-x(4))^2
d=(x(1)+x(3))^2+(x(2)+x(4))^2
c=49.876*a/sqrt(d) -34.482*a/sqrt(b)+140
ceq=[]
end
命令行:
>> x0=[177 517 86 95];
>> A=[-1 0 0 0;0 -1 0 0;0 0 -1 0;0 0 0 -1];
>> b=zeros(4,1);
>>  [x,fval,exitflag,output,lambda,grad,hessian]
=fmincon('myfun,x0,A,b,[],[],[],[]','mycon')
??? Undefined function or variable 'x'.
4楼2012-04-26 09:26:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edda_zhang

金虫 (小有名气)

引用回帖:
3楼: Originally posted by nandehutu9327 at 2012-04-25 12:06:15:
应用MATLAB中的fmincon命令可求解你的约束非线性规划问题。

这是我做的过程,可是结果有错误!帮忙看看吧!谢谢
5楼2012-04-26 09:27:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nandehutu9327

至尊木虫 (职业作家)

【答案】应助回帖

fmincon('myfun,x0,A,b,[],[],[],[]','mycon')
'myfun'
6楼2012-04-26 13:07:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edda_zhang

金虫 (小有名气)

引用回帖:
6楼: Originally posted by nandehutu9327 at 2012-04-26 13:07:41:
fmincon('myfun,x0,A,b,[],[],[],[]','mycon')
'myfun'

编写的m文件
function f =myfun(x)
%目标函数
a=sqrt(x(1)^2+x(2)^2+x(3)^2+x(4)^2)
b=sqrt((x(1)-x(3))^2+(x(2)-x(3))^2)
f=a-b
end

function [c,ceq]=mycon(x)
%约束条件
a=(x(1)*x(4)-x(2)*x(3))*sqrt(x(3)^2+x(4)2)
b=(x(1)-x(3))^2+(x(2)-x(4))^2
d=(x(1)+x(3))^2+(x(2)+x(4))^2
c=49.876*a/sqrt(d) -34.482*a/sqrt(b)+140
ceq=[]
end
命令行:
>> x0=[177 517 86 95]; A=[-1 0 0 0;0 -1 0 0;0 0 -1 0;0 0 0 -1]; b=zeros(4,1);
>> x,fval,exitflag,output,lambda,grad,hessian]=fmincon('myfun’,x0,A,b,[],[],[],[],'mycon')
改过以后结果也不对。x =

    0.0000  614.4217    3.0157    0.0000


fval =

    3.0157
把x代入f是0.
7楼2012-04-27 08:35:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edda_zhang

金虫 (小有名气)

引用回帖:
6楼: Originally posted by nandehutu9327 at 2012-04-26 13:07:41:
fmincon('myfun,x0,A,b,[],[],[],[]','mycon')
'myfun'

找到了三个错误!谢谢!
再加个约束:x1*x4-x2*x3>0。
应该怎么算?
8楼2012-04-27 10:18:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nandehutu9327

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
edda_zhang: 金币+10, ★★★很有帮助, 谢谢,我还不会加两个条件到没有从、 2012-04-28 08:27:40
引用回帖:
8楼: Originally posted by edda_zhang at 2012-04-27 10:18:27:
找到了三个错误!谢谢!
再加个约束:x1*x4-x2*x3>0。
应该怎么算?

将-x1*x4+x2*x3<0加到mycon函数中
9楼2012-04-27 12:25:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edda_zhang

金虫 (小有名气)

引用回帖:
9楼: Originally posted by nandehutu9327 at 2012-04-27 12:25:40:
将-x1*x4+x2*x3<0加到mycon函数中

我还不会加两个条件到mycon函数中,高手有时间帮我编个m文件,发给我吧!谢谢!
10楼2012-04-28 08:28:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 edda_zhang 的主题更新
信息提示
请填处理意见