24小时热门版块排行榜    

查看: 765  |  回复: 1

Justiceall

新虫 (初入文坛)

[求助] 关于matlab的一个非线性约束求解的问题

具体如下: 目标方程:y=(x1-2.0).^2.0+(x2-1.0).^2.0;
                  约束条件:x1-2.0x2+1>=0;
                                   ((x1).^2.0)/4.0-(x2).^2.0+1>=0
                  目标方程M文件fitness:function [ y ] = fitness( x )
                                            y=(x1-2.0).^2.0+(x2-1.0).^2.0
                                            end
                 非线性约束条件M文件nonl:function [ c,ce ] = nonl( x )
                                                      ce=[];
                                                      c=-((x1).^2.0)/4.0+(x2).^2.0-1.0;
                                                      end
                 主程序:A=[-1,2];
                               b=1;
                               [x,fval]=ga(@fitness,2,A,b,[],[],[],[],@nonl)
结果运行错误了,修改了好多次还是不行啊。具体错误如下:
Undefined function or variable 'x1'.

Error in nonl (line 5)
cineq(1)=-((x1).^2.0)/4.0+(x2).^2.0-1.0;

Error in validate>@(x)nonlcon(x,NonconFcnArgs{:}) (line 142)
    nonlcon = @(x) nonlcon(x,NonconFcnArgs{:});

Error in constrValidate (line 20)
        [cineq,ceq] = nonlcon(Iterate.x');

Error in gacommon (line 132)
[LinearConstr, Iterate,nineqcstr,neqcstr,ncstr] = constrValidate(NonconFcn, ...

Error in ga (line 322)
[x,fval,exitFlag,output,population,scores,FitnessFcn,nvars,Aineq,bineq,Aeq,beq,lb,ub, ...

Caused by:
    Failure in initial user-supplied nonlinear constraint function evaluation.
请各位大侠帮忙看看到底是怎么回事啊,因为刚刚注册的木虫只有这么多金币了,谢谢各位好心人。
回复此楼

» 猜你喜欢

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

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

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
Justiceall: 金币+5, ★★★很有帮助, 谢谢这位仁兄 2012-04-18 18:12:12
CODE:
function aa
[x,fval]=ga(@fitness,2,[],[],[],[],[],[],@nonl)

function y= fitness( x )
y=(x(1)-2.0).^2.0+(x(2)-1.0).^2.0;
                                       
function [ c,ce] = nonl( x )
     c(1)=-((x(1)).^2.0)/4.0+(x(2)).^2.0-1.0;
     c(2)=-(x(1)-2.0*x(2)+1);
      ce=[];                              
            

代码拷到editor中保存为m文件,点击run运行
x =

    2.0025    0.9970


fval =

  1.5006e-005
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2012-04-18 10:56:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Justiceall 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 0XLacIJUOj8D 2026-08-24 7/350 2026-08-25 03:24 by BZKMTicpDhFj
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 0XLacIJUOj8D 2026-08-24 3/150 2026-08-24 21:59 by BZKMTicpDhFj
[基金申请] 人气不行了 +10 fansofjerry 2026-08-21 10/500 2026-08-24 21:03 by zhanghaozhu
[基金申请] filecode,4个jtjc了 +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by 哈哈蛤?
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 21/1050 2026-08-24 14:21 by refreshing11
[基金申请] 估计是周四 +4 archvillain 2026-08-18 4/200 2026-08-24 13:53 by zzuzxg
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见