声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 958|回复: 0

[编程技巧] 看看优化问题程序对不对啊,麻烦老师了

[复制链接]
发表于 2010-3-1 15:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function [C,Ceq] = mycon(x,u)
C=[];
ceq(1)=0.5*x(1)*x(1)-0.7*x(2)+x(3)*u(1)+x(2)*x(2)*u(1)*u(2)+2*x(3)*u(3)*u(3)-255.8;
   ceq(2)= x(1)-2*x(2)+3*x(1)*x(3)-2*x(2)*u(1)-x(2)*u(2)*u(3)+111.2;
    ceq(3)= x(3)*u(1)-x(1)+3*x(2)+x(1)*u(2)-x(3)*(u(3)^0.5)-33.57;
    ceq(4)= x(4)-x(1)-x(3)*x(3)+u(2)+3*u(3)
ceq(5)=x(5)-2*x(3)*u(2)*u(3);
    ceq(6)=2*x(1)+x(2)*x(3)*u(1)+u(2)-u(3)-126.6;




function f= fun(x)
xc=[4.5360,5.5770,2.0660,1.4653,5.8491]';
Q=diag([0.0902,0.1116,0.0386,0.0292,0.0970]);
   f=1/0.0902*(x(1)-xc(1)).^2+1/0.1116*(x(2)-xc(2)).^2+1/0.0386*(x(3)-xc(3)).^2+1/.0292*(x(4)-xc(4)).^2+1/0.0970*(x(5)-xc(5)).^2;


主程序
x0=[0,0,0,0,0]';%初始值
    u=[8.0000,0.7000,1.8000]';      %未知量初始值

lb=[0,0,0,0,0]';

[x1,f1,exitflag,output]=fmincon('fun',x0,[],[],[],[],lb,[],'mycon')




目标函数是Σ((x-xc).^2)/Q
非线性约束是如图

[ 本帖最后由 prince00840 于 2010-3-1 15:54 编辑 ]
未命名.jpg
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-5 18:52 , Processed in 0.132143 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表