数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 4839|回复: 5

一个非线形规划的小程序,有毛病 请指教!

[复制链接]
发表于 2005-9-2 18:22:27 | 显示全部楼层 |阅读模式
<>先是两个编好的函数:</P>
<>function f=fun(x)<BR>f=-2*x(1)-x(2);</P>
<>function[g,ceq]=mycon2(x)<BR>g=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7]</P>
<P>然后运行这个脚本文件:</P>
<P>x0=[3;2.5];<BR>vlb=[0 0];<BR>vub=[5 10];<BR>[x,fval,exitflag,output]=fmincon('fun',x0,[],[],[],[],vlb,vub,'mycon2');</P>
<P>可是显示以下错误:</P>
<P>g =</P>
<P>   -9.7500<BR>   -4.2500</P>
<P>??? Error using ==&gt; fmincon<BR>FMINCON cannot continue because user supplied nonlinear constraint function<BR> failed with the following error:</P>
<P>One or more output arguments not assigned during call to 'feval'.</P>
<P>Error in ==&gt; C:\MATLAB6p1\work\Untitled6.m<BR>On line 4  ==&gt; [x,fval,exitflag,output]=fmincon('fun',x0,[],[],[],[],vlb,vub,'mycon2');</P>
发表于 2005-9-3 17:17:06 | 显示全部楼层
<>先是两个编好的函数:</P>
<>function f=fun(x)<BR>f=-2*x(1)-x(2);</P>
<>function[g,ceq]=mycon2(x)<BR>g=x(1)^2+x(2)^2-25;</P>
<P>ceq=x(1)^2-x(2)^2-7</P>
<P>然后运行这个脚本文件:</P>
<P>x0=[3;2.5];<BR>vlb=[0 0];<BR>vub=[5 10];<BR>[x,fval,exitflag,output]=fmincon('fun',x0,[],[],[],[],vlb,vub,'mycon2');</P>

<P>运行结果为:Active Constraints:<BR>     1<BR>     6</P>
<P><BR>x =</P>
<P>    4.0000<BR>    3.0000</P>
<P><BR>fval =</P>
<P>  -11.0000</P>
<P><BR>exitflag =</P>
<P>     1</P>
<P><BR>output = </P>
<P>       iterations: 4<BR>        funcCount: 19<BR>         stepsize: 1<BR>        algorithm: [1x44 char]<BR>    firstorderopt: 5.0627e-013<BR>     cgiterations: []</P>
 楼主| 发表于 2005-9-3 21:20:34 | 显示全部楼层
谢谢指点,我试试!
 楼主| 发表于 2005-9-4 04:09:46 | 显示全部楼层
<>请问rhq1234:</P>
<>如果有多个为"&lt;=0"的约束条件时</P>
<>是不是用  g=[;...;...;];的格式</P>
<P>如g=[x(1)^2+x(2);x(1)*4-3*x(2)^3;8*x(1)^2_7*x(2)]; 这种格式</P>
<P>同理ceq 也是一样?</P>
 楼主| 发表于 2005-9-4 04:50:21 | 显示全部楼层
<>还有请问这个错误是怎么回事啊</P>
<>
<TABLE fixed; WORD-BREAK: break-all" height="85%" width="95%" align=center border=0>

<TR>
<TD 9pt; LINE-HEIGHT: 12pt" vAlign=top width=* height="100%">
<>??? Error using ==&gt; fmincon<BR>FMINCON cannot continue because user supplied nonlinear constraint function<BR>failed with the following error:</P>
<P>One or more output arguments not assigned during call to 'feval'.</P>
<P>Error in ==&gt; C:\MATLAB6p1\work\Untitled6.m<BR>On line 4  ==&gt; [x,fval,exitflag,output]=fmincon('fun',x0,[],[],[],[],vlb,vub,'mycon2');</P></TD></TR>
<TR>
<TD></TD></TR></TABLE></P>
发表于 2005-9-7 00:49:00 | 显示全部楼层
<>你的还是错的</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 08:33 , Processed in 0.069520 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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