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])
为啥老是出不来?麻烦大神给我看一下,到底哪里编错了?