数模论坛

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

MATLAB解无约束非线性规划问题

[复制链接]
发表于 2004-9-4 07:32:11 | 显示全部楼层 |阅读模式
<H3 ><FONT size=1>无约束非线性规划问题:</FONT></H3>
< ><FONT size=1><B><FONT face="Times New Roman">1</FONT></B><B>.<FONT face="Times New Roman">fminunc</FONT></B><B>函数<p></p></B></FONT></P>
< ><B><FONT size=1>几种调用格式:<FONT face="Times New Roman"> </FONT></FONT></B></P>
< ><B><FONT size=1><FONT face="Times New Roman">   x=fminunc(fun,x0)<p></p></FONT></FONT></B></P>
<P ><B><FONT face="Times New Roman"><FONT size=1>              x=fminunc(fun,x0,options)<p></p></FONT></FONT></B></P>
<P ><B><FONT face="Times New Roman"><FONT size=1>              x=fminunc(fun,x0,options,P1,P2)<p></p></FONT></FONT></B></P>
<P ><FONT size=1><B><FONT face="Times New Roman">              [x,fval]=fminunc(</FONT></B><B>…<FONT face="Times New Roman">)<p></p></FONT></B></FONT></P>
<P ><FONT size=1><B><FONT face="Times New Roman">              [x,fval, exitflag]=fminunc(</FONT></B><B>…<FONT face="Times New Roman">)<p></p></FONT></B></FONT></P>
<P ><FONT size=1><B><FONT face="Times New Roman">              [x,fval, exitflag,output]=fminunc(</FONT></B><B>…<FONT face="Times New Roman">)<p></p></FONT></B></FONT></P>
<P ><FONT size=1><B><FONT face="Times New Roman">[x,fval, exitflag,output,grad]=fminunc(</FONT></B><B>…<FONT face="Times New Roman">)<p></p></FONT></B></FONT></P>
<P ><FONT size=1><B><FONT face="Times New Roman">[x,fval, exitflag,output,grad,hessian]=fminunc(</FONT></B><B>…<FONT face="Times New Roman">)<p></p></FONT></B></FONT></P>
<P ><FONT size=1><B>说明:</B><FONT face="Times New Roman">fun</FONT>为需最小化的目标函数,<FONT face="Times New Roman">x0</FONT>为给定的搜索的初始点。<FONT face="Times New Roman">options</FONT>指定优化参数。</FONT></P><FONT size=1>返回的x为最优解向量;fval为x处的目标函数值;exitflag描述函数的输出条件;output返回优化信息;grad返回目标函数在x处的梯度。Hessian返回在x处目标函数的Hessian矩阵信息。</FONT>
 楼主| 发表于 2004-9-4 07:43:08 | 显示全部楼层
< 0cm 0cm 0pt 21pt"><B><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock aspectratio="t" v:ext="edit"></lock></v:shapetype><p></p></B></P>< 0cm 0cm 0pt 21pt"><v:shapetype><b> 例:minf=4x^2+5xy+2y^2</b></v:shapetype></P>< 0cm 0cm 0pt 21pt">程序:编辑<FONT face="Times New Roman">ff2.m</FONT>文件:</P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: 27pt"><FONT face="Times New Roman">function f=ff2(x)</FONT></P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: 27pt"><FONT face="Times New Roman">f=4*x(1)^2+5*x(1)*x(2)+2*x(2)^2;</FONT></P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: 27pt">取初始点:<FONT face="Times New Roman">x0=(1,1)</FONT></P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: 27pt"><FONT face="Times New Roman">x0=[1,1];</FONT></P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: 27pt"><FONT face="Times New Roman">[x,fval,exitflag]=fminunc(@ff2,x0)</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">       </FONT>结果:<FONT face="Times New Roman">    x =</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">                           1.0e-007 *</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">                          -0.1721    0.1896</FONT></P><P 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><FONT face="Times New Roman">fval =</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">                           2.7239e-016</FONT></P><P 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"><FONT face="Times New Roman">exitflag =</FONT></P>                               1
发表于 2004-9-11 19:50:36 | 显示全部楼层
版主,很多时候在求解优化问题时需要做灵敏度分析,比如目标随变量波动的变化等,.就象在lindo或lingo里解出的一样.在MATLAB里有没有较快的方法做出来?
发表于 2004-9-12 18:11:28 | 显示全部楼层
帮帮忙啊
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

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

GMT+8, 2024-11-28 21:51 , Processed in 0.055176 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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