用这个程序:
clear all;clc
F=@(a)abs(0.3*a+0.57*(1-a))+abs(0.23*a-0.376*(1-a));
[a,fval,exitflag]=fminbnd(F,0,1e+7);
a
b=1-a
fval
运行后可见结果。这里用0<=a<=10的7次方来替代a>=0,因为a需要有个上界。但是增加这个上界不改变收敛的结果,所以这个上界并不影响最优解的取值。
首先把约束条件去掉,则原方程转换为F(b)=|0.3+0.27b|+|0.23-0.606b|,然后用solve函数解得b的值,那么a的值也就显然了