function [x,minf]=minpw(f,a,b,eps)
format long;
if nargin==3
    eps=1.0e-4;
end
t0=(a+b)/2;
while 1
    fa=subs(f,findsym(f),a);
    fb=subs(f,findsym(f),b);
    ft0=subs(f,findsym(f),t0);
    u=fa*(b^2-t0^2)+fb*(t0^2-a^2)+ft0*(a^2-b^2);
    v=fa*(b-t0)+fb*(t0-a)+ft0*(a-b);
    t1=0.5*u/v;
    ft1=subs(f,findsym(f),t1);
    tol=abs(t1-t0);
    if ft1<=ft0
        if tol<eps
           x=t1;
            break;
        else
            if t1<=t0
                b=t0;
               t0=t1;
            else a=t0;
               t0=t1;
            end
        end
    else 
       if tol<eps
           x=t0;
           break;
       else
           if t1<=t0
              a=t1;
          else b=t1;
           end
      end
    end
end
minf=subs(f,findsym(f),x);
format short;
一直在运行,出不来结果。麻烦大神看一下哪里有问题。