声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 885|回复: 3

[编程技巧] 求约束函数的化简

[复制链接]
发表于 2007-12-2 16:17 | 显示全部楼层 |阅读模式

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

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

x
function f=constrains(x)
h=[];
n=length(x);
mm=(n-2)/3;
i=1:mm;j=(mm+1):(n-2);
h(i)=x(i);
h(j)=0.0015-abs(x(j));
c=0;
b=0.002:0.00008:0.01;
for w1=b
    c=c+1;d=0;
    for w2=b
        d=d+1;
        g(c,d)=P1fun(x,w1,w2);
    end
end
h(n-1)=x(n-1)-max(g(:));
cc=0;
bb=0.008:0.0002:0.04;
for w3=bb
    cc=cc+1;
    gg(cc)=P2fun(x,w3);
end  
h(n)=x(n)-max(gg(:));
f=h;
这是我在进行约束优化时的一个约束函数,其中后两个约束我想不到不用循环就能实现的方法.请院长看一下有没有方法化简程序.尽量避免循环出现.(我看了您关于矢量编程的帖子后仍然没有思路)
回复
分享到:

使用道具 举报

发表于 2007-12-2 16:59 | 显示全部楼层
原帖由 lyx_812 于 2007-12-2 16:17 发表
function f=constrains(x)
h=[];
n=length(x);
mm=(n-2)/3;
i=1:mm;j=(mm+1):(n-2);
h(i)=x(i);
h(j)=0.0015-abs(x(j));
c=0;
b=0.002:0.00008:0.01;
for w1=b
    c=c+1;d=0;
    for w2=b
       ...


看不懂,这些专业性强的问题外人无法帮忙,只能自己去花时间琢磨、提高
发表于 2007-12-2 19:32 | 显示全部楼层

回复 #1 lyx_812 的帖子

矢量化编程原本就不是容易,要多看,多理解才能用运用
 楼主| 发表于 2007-12-2 21:01 | 显示全部楼层
谢谢上面两位版主,我自己琢磨下.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 14:41 , Processed in 0.067235 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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