声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 926|回复: 0

[综合讨论] fmincon求解, 哪里有问题?

[复制链接]
发表于 2010-5-26 19:53 | 显示全部楼层 |阅读模式

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

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

x
下列是我用fmincon求解一个最佳化问题, 可是我一直跑不出来正确的解, 能否请各位高手帮我看看是哪里出了问题吗???谢谢各位了!!

function [alfa, beta] = LMalfa()
global rt;
rt = [0.3, 0.5, -0.2, 1.3, 1.01, 0.89, -1.1, -0.32, 0.52, 1.24, -2.12, -0.2, 0.6, 0.78, 1.52];
T = 15;
y0=zeros(2*T+2);
options=optimset('LargeScale', 'off', 'Simplex', 'on','display','iter');
  y = fmincon(@MADobj,y0,[],[],[],[],[],[],@MADconstr,options);
    function f=MADobj(y)
        f = (y(16)+y(17)+y(18)+y(19)+y(20)+y(21)+y(22)+y(23)+y(24)+y(25)+y(26)+y(27)+y(28)+y(29)+y(30))/15;
   end
   function [c,ceq]=MADconstr(y)
       c(1) = y(16)-abs(y(1)-rt(1));
       c(2) = y(17)-abs(y(2)-rt(2));
       c(3) = y(18)-abs(y(3)-rt(3));
       c(4) = y(19)-abs(y(4)-rt(4));
       c(5) = y(20)-abs(y(5)-rt(5));
       c(6) = y(21)-abs(y(6)-rt(6));
       c(7) = y(22)-abs(y(7)-rt(7));
       c(8) = y(23)-abs(y(8)-rt(8));
       c(9) = y(24)-abs(y(9)-rt(9));
       c(10) = y(25)-abs(y(10)-rt(10));
       c(11) = y(26)-abs(y(11)-rt(11));
       c(12) = y(27)-abs(y(12)-rt(12));
       c(13) = y(28)-abs(y(13)-rt(13));
       c(14) = y(29)-abs(y(14)-rt(14));
       c(15) = y(30)-abs(y(15)-rt(15));
       i =1:15;
         ceq(i) = y(i)-y(31)-y(32)*i;

    end
alfa = y(31);
beta = y(32);
end

[ 本帖最后由 ChaChing 于 2010-5-26 21:15 编辑 ]
回复
分享到:

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 16:26 , Processed in 0.065001 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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