无法从 sym 转换为 logical。 出错 fminbnd (第 335 行) if fu <= fx 个问题怎么解决呀

function ButtonPushed(app, event)

      t=readtable(app.InitialflowEditField.Value);
       a=0.5
        b=4
        v=0.7
        syms w
        syms y
        l=0.7
        F=0           
     for k=1:app.roadnumberEditField.Value
      for n=1:app.roadnumberEditField.Value
        for i=1:app.roadnumberEditField.Value
             
            z=t.t0(i)*(1+a*(w/t.c0(i)^b))-t.c(i)
            f(i)=int(z,w,t.x(i),y)
            F=F+f(i)
        end
        [y,fval,exitflag,output]=fminbnd(@(y)v*t.c(n)*y+(1-v)*F,0,8000)
      end 
      x(k)=x(k)+l*(y-x(k))
      
     end 
     
   end

我主要是解决下图所示的非线性极小值问题的极小点求解

img

img

然后再算x

img

你好,建议

 f(i)=matlabFunction(int(z,w,t.x(i),y),'vars','y')
F = @(x) F(x) + f(i)(x);