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
我主要是解决下图所示的非线性极小值问题的极小点求解
然后再算x
你好,建议
f(i)=matlabFunction(int(z,w,t.x(i),y),'vars','y')
F = @(x) F(x) + f(i)(x);