数模论坛

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

求助:我编的POWELL方法

[复制链接]
发表于 2005-11-22 05:16:02 | 显示全部楼层 |阅读模式
<>我编的POWELL方法,总是没有正确的结果,请问是不是一维搜索的方法不对,请问该采用什么方法,我的是菲薄聂耳法</P>
<>你好,请问你有DFP算法的程序吗,我用了POWELL方法,解的结果很不理想,不知道是不是我写错了,帮忙看看,谢谢,我的邮箱是<a href="http://www.shumo.com/bbs/mailtwangkwmail@163.com" target="_blank" ><FONT color=#000000>wangkwmail@163.com</FONT></A>可以与我联系,谢谢,期待你的回答</P>
<>不知道你的一维搜索采用的是什么方法,能求多极值的问题吗</P>
<P>function x=test<BR>global x;<BR>global d;<BR>global e;<BR>dlt=1;<BR>x0=[15.1,5.3,0.1,0.1];<BR>d=eye(4,4);<BR>%d1=eye(4,4);<BR>e=zeros(1,4);<BR>epnal=0.0000001;<BR>alfa=zeros(1,4);<BR>alfa5=0;<BR>k=1;<BR>%i=1;<BR>x=x0;<BR>x00=x;<BR>%while feixianxing(x)&gt;=0.05<BR>g=1;<BR>while g&gt;=0.000001<BR>    for i=1:1:4<BR>        alfa(i)=yiweisousuo(x,d,i);<BR>        x=x00+alfa(i)*d(i,;<BR>        x00=x;<BR>    end<BR>    r=norm(x0-x,'fro');<BR>    e=(x-x0)/r;<BR>    alfa5=yiweisousuop(x,e)<BR>    x=x+alfa5*e<BR>    alfamax=max(alfa)<BR>    %delt=alfamax/r;<BR>    for i=1:1:4<BR>        if alfa(i)==max(alfa);<BR>        s=i<BR>        end<BR>    end<BR>    if alfamax*dlt/r&gt;=epnal<BR>        for i=1:1:4<BR>            if i==s<BR>               d(i,=e<BR>            else<BR>               d(i,=d(i,:)<BR>            end<BR>        end<BR>        dlt=alfamax*dlt/r;<BR>    end<BR>    g=feixianxing(x)<BR>    x0=x;<BR>    if g&gt;0.001<BR>        break;<BR>    end<BR>    <BR>end</P>
<P>%end<BR></P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

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

GMT+8, 2024-11-27 05:25 , Processed in 0.090755 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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