2、解。[x,fval]=fminbnd(fun,x1,x2,options)若极值点是区间的端点的话,收敛速度比较慢。例题1求函数:f(x)=e-x^2(x+sinx)在区间【-10,10】上最小值》[x,fval]=fminbnd(‘exp(-x^2)*(x+sin(x))’,-10,10)结果为:X=-0.6796Fval=-0.8243例题2》[x,fval]=fminbnd(‘x^4-x^2+x-1’,-2,1)结果为:求函数:f(x)=x4-x2+x-1在区间【-2,1】上最小值X=-0.8846Fval=-2.0548无约束多维极
3、小值函数fminsearch算单纯形搜索法,由于不需要计算梯度,运算速度很快,常见函数都能立即求出最小值。[x,fval]=fminsearch(fun,x0,options)[x,fval]=fminunc(fun,x0,options)函数fminunc根据输入自动选择合适的算法。函数阶数大于2时,使用fminunc更有效,但当函数不连续时,使用fminsearch效果好例题1求函数:f(x)=x1+1/x1+x2+1/x2,【2,3】上的最小值》[x,fval]=fminsearch(fx,[2,3])结果为:X=1.00001.00
4、00Fval=4.0000》fx=‘x(1)+1/x(1)+x(2)+1/x(2)’;%建立函数例题2求函数:f(x)=3x12+2x1x2+x22的最小值》x0=[1,1];》[x,fval]=fminunc(‘3*x(1)^2+2*x(1)*x(2)+x(2)^2‘,x0)结果为:X=1.0e-008*-0.75120.2479Fval=1.3816e-016线性规划线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB解决的线性规划问题的标准形式为:x=linprog(f,A,b,Aeq,beq,lb,ub)%指定x的范围,
5、若没有等式约束,则Aeq=[],beq=[][x,fval]=linprog(…)%返回目标函数最优值,即fval=f'*x。例题求下面的优化问题结果为:x=%最优解0.000015.00003.0000fval=%最优值-78.0000minsub.to解:>>f=[-5;-4;-6];>>A=[1-11;324;320];>>b=[20;42;30];>>lb=zeros(3,1);>>[x,fval]=linprog(f,A,b,[],[],lb)>>lb=[0,0,0];x=linprog(f,A,b,Aeq,beq,lb,ub)%
6、若没有等式约束,则Aeq=[],beq=[][x,fval]=linprog(…)约束极小(非线性规划)[x,fval]=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)用于非线性不等式和等式目标函数的非线性约束条件例题min建立confun.m文档function[c,ceq]=confun(x)c=9-x(1)^2-x(2)^2ceq=[][x,fval]=fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)[x,fval]=fmincon(f,[1,2],A,b,[],[],[]
7、,[],’confun‘)类型模型基本函数名一元函数极小值Minf(x)s.t.x18、y+3y2与到平面x+y-4z=1的最短距离。写出数学模型及matlab代码写出数学模型及matlab代码课堂作业欲用薄钢板制造体积为6m3,高度1m,长度不小于3m的无盖货箱,