全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
969 0
2015-08-19
function [x,minf]=mingt(f,x0,var,eps)
format long;
syms s;
if nargin==3
    eps=1.0e-6;
end
g=gradient(f);
n=length(var);
g0=Funval(g,var,x0);
p0=-g0;
k=0;
while 1
    g0=Funval(g,var,x0);
    t0=norm(g0);
    if t0<=eps
        x=x0;
        break;
    else        
        y=x0+s*p0';
        z=Funval(f,var,y);
        h=minndf(z,0);
         x1=x0+h*p0';
        g1=Funval(g,var,x1);
        t1=norm(g1);      
    end
        if t1<=eps
            x=x1;
            break;
        else if k+1==n               
                x0=x1;
                g0=Funval(f,var,x0);
                p0=-g0;
            else  r=t1^2./t0^2;
                  p0=-g1+r*p0;
                  k=k+1;
                  x0=x1;
            end
       end
end

minf=Funval(f,var,x);
format short;

syms t s;
f=3*t^2+s^2-2*t*s+4*t+3*s;
[x,minf]=mingt(f,[0 0],[t s])

为啥老是出不来?麻烦大神给我看一下,到底哪里编错了?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群