教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

matlab在优化设计中的应用

来源:网络收集 时间:2026-08-09
导读: 优化原理 ①绘图判断优化结果的正误:fplot(fun,[-1,2]);(fun为函数句柄) 1、MATLAB优化概述: (1)目标函数的极值条件: ①多维函数的极值条件: 令梯度=0---如果该点二阶偏导数矩阵正定---改点为极小值; 必要条件:目标函数在改点梯度为0; 充分条件:在

优化原理

①绘图判断优化结果的正误:fplot(fun,[-1,2]);(fun为函数句柄)

1、MATLAB优化概述:

(1)目标函数的极值条件:

①多维函数的极值条件:

令梯度=0---如果该点二阶偏导数矩阵正定---改点为极小值; 必要条件:目标函数在改点梯度为0;

充分条件:在改点的hession矩阵正定,极小值点;负定,极大值点;

2、MATLAB线性规划:

见XianXing_GuiHua.m

(1)线性规划matlab步骤:

提取数学模型---化为matlab标准型---调用函数linprof进行优化; ①matlab标准型:

min f=c’x;Ax<=b,Aeqx=beq,lb<=x<=ub;

<1 如果对目标函数求最大值,应添加负号转化求最小值,约束条件也应化为matlab标准型;

<2 c,x,beq,lb,ub 均为列阵; (2)matlab函数调用:

x=linprog(c,A,b,Aeq,beq,lb,ub);x为最优解对应x的值,其他各项对应上述标准型;

[x,fval,exitflag,output]=linprog(c,A,b,Aeq,beq,lb,ub):fval为目标函数最优解,exitflag为终止迭代的条件信息,output输出有关信息变量; <1 exitflag为1,表示函数收敛到解x;

<2 如果没有Ax<=b,只需令A=[],b=[],对应等式约束也可如此; <3 lb,ub中可以出现无穷inf;

例:c=[-1 -1]';A=[1 -2;1 2];b=[4 8]';lb=[0 0]';ub=[inf

inf]';[x,fval,exitflag,output]=linprog(c,A,b,[],[],lb,ub); (3)绝对值问题:

出现绝对值如min f=|x|+|y|+|z|;可设计非负变量x1,x2作如下替换: x1=(x+|x|)/2, x2=(|x|-x)/2;将目标函数和约束条件全部进行转化;

3、MATLAB非线性规划:

(约束或目标函数之一为非线性); (1)一维最优化方法:

① 一维搜索法的matlab求解---fminbnd:

[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options);(fun为函数

句柄)

适用:min f(x) s.t.x1

<1 如果函数的最小值恰好在边界取得,fminbnd将返回该区间的一个内点,且与其端点的距离不超过2TolX;

<2 有时只能搜索到极小值,并非最小值,可绘图判断正误; <3 标记最值点:plot(x,fval,'r*'); 例:[x,fvla]=fminbnd(@fun,lb,ub); (2)matlab求解无约束优化:

①无约束非线性优化函数fminunc:

[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options); <1 x0为搜寻初值,可以为向量、标量、矩阵;grad为解在x处的梯度值;hessian为解在x处的hessian矩阵;

<2 fminunc可以设置options使用不同的算法对非线性规划问题进行求解; (3)fminsearch:

[x,fval,exitflag,output]=fminsearch(fun,x0,options);

①fminunc最小化问题求解时,要求判断目标函数在优化变量处的梯度和hessian矩阵,仅适用目标函数连续的情况;

②fminsearch函数可以用来求解目标函数不可导问题,包括不连续、在最优解附近出现奇异等问题;

(4)求解多维约束优化fmincon:

①问题格式:min f(x);

c(x)<=0,ceq(x)=0;(非线性约束)

Ax<=b,Aeqx=beq,lb<=x<=ub;(线性约束)

②[x,fval,exitflag,output,lambda,grad,hessian] =fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) <1 lambda为各个约束所对应的拉格朗日乘子; <2 nonlcon中定义了非线性约束c(x),ceq(x): function [c,ceq]=fun2(x) c=…;ceq=…;

例:[x,fval,exitflag]=fmincon(@fun,x0,A,b,[],[],[],[],@fun2)

4、MATLAB其他规划:

(1)二次规划问题quadprog:

该问题也可用fmincon函数解决(其更简单);

①数学模型:min f(x)=1/2*x’*H*x+f’*x;(第一部分为二次型)

Ax<=b,Aeqx=beq,lb<=x<=ub;(线性约束)

②[x,fval,exitflag,output]

=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) (2)多目标规划问题:

①数学模型:min f1(x);

min f2(x);

c(x)<=0,ceq(x)=0;(非线性约束)

Ax<=b,Aeqx=beq,lb<=x<=ub;(线性约束)

②[x,fval,attainfactor,exitflag,output,lambda]

=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) <1 attainflag为解x处的目标规划因子; <2 nolcon函数为编写的非线性约束函数: function [c,ceq]=mycon(x) c=…;ceq=…;

<3 goal为想要达到的目标函数值向量;weight为权重向量,一般取weight=abs(goal);

matlab在优化设计中的应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/595131.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)