版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一讲优化、数值积分
与常微分方程数值解10/5/1/4210/5/1第十一讲优化、数值积分
与常微分方程数值解11.1无约束优化11.2约束线性优化11.3二次规划11.4非线性方程求解11.5数值积分理论和方法11.6数值积分Matlab实现11.7常微分方程数值解2/4210/5/211.1无约束优化形如:minf(x),x=(x1,……,xn)T
优化问题常称为无约束线性规划,实际上是多元函数无条件极值问题,极值点是局部最优解,全局最优解只能从局部最优解中比较得到,以下所谓最优解均指局部最优解3/4210/5/311.1无约束优化1.fminbnd功效:计算非线性一元函数最小值。格式:[X,FVAL]=fminbnd(‘fun’,x1,x2)例:计算函数f(x)=(x^3+x^2-1)/(exp(x)+exp(-x))最小值和最小值点,-5<=x<=54/4210/5/411.1无约束优化>>fun='(x^3+x^2-1)/(exp(x)+exp(-x))';
>>ezplot(fun)
>>[x,fval,exitflag]=fminbnd(fun,-5,5)
x=
-3.3112
fval=
-0.9594
exitflag=
15/4210/5/511.1无约束优化2.fminsearch功效:计算多元函数最小值。格式:X=fminsearch(‘fun’,X0);
[X,fval,exitflag]=fminsearch(...)例:求点(x1,x2)使目标函数f(x)取得最小值:f(x)=sin(x1)+cos(x2)6/4210/5/611.1无约束优化x0=[0,0];
>>fun='sin(x(1))+cos(x(2))';
>>[x,fval,exitflag]=fminsearch(fun,x0)
x=
-1.57083.1416
fval=
-2.0000
exitflag=
17/4210/5/711.2约束线性优化约束优化即为含有一定条件优化问题,其普通形式为若f,gi是线性函数,则称此模型为线性规划,不然称为非线性规划。8/4210/5/811.2约束线性优化linprog功效:约束线性优化。格式:X=linprog(f,A,b,Aeq,beq)X=linprog(f,A,b,Aeq,beq,LB,UB)这里,由Aeq与beq确定了等式约束,LB,UB确定了x范围,x0为初值。9/4210/5/911.2约束线性优化例:Min–5x1+4x2+2x3S.t6x1-x2+3x3<=8x1+2x2+4x3<=10-1<=x1<=30<=x2<=2x3>=0
10/4210/5/1011.2约束线性优化>clear
>>f=[-542];
>>A=[6-11;124];
>>b=[8;10];
>lb=[-100];
>>ub=[3,2];11/4210/5/1111.2约束线性优化>>[x,f]=linprog(f,A,b,[],[],lb,ub)
Optimizationterminated.
x=
1.3333
0.0000
0.000
f=
-6.6667
12/4210/5/1211.3二次规划对于非线性规划,常见是二次规划,其普通模型为:minf(x)=0.5xTHx+cxs.t.AX≤b尤其,当H为正定矩阵时,目标函数为凸函数,线性约束下可行域为凸集,此时称凸二次规划。13/4210/5/1311.3二次规划1.quadprog功效:求解二次规划问题格式:X=quadprog(H,f,A,b)X=quadprog(H,f,A,b,Aeq,beq)X=quadprog(H,f,A,b,Aeq,beq,LB,UB)X=quadprog(H,f,A,b,Aeq,beq,LB,UB,X0)14/4210/5/1411.3二次规划例:15/4210/5/1511.3二次规划h=[1-1;-12];>>c=[-2;-6];>>a=[11;-12;21];>>b=[2;2;3];>>lb=[00];>>[x,f]=quadprog(h,c,a,b,[],[],lb)x=0.66671.3333f=-8.222216/4210/5/1611.4非线性方程求解1.fzero功效:求非线性方程近似解
格式:x=fzero(‘f’,x0)[X,FVAL]=fzero(‘f’,...)例:>>[x,f]=fzero('sin',2)x=3.1416f=1.2246e-01617/4210/5/1711.4非线性方程求解2.fsolve功效:求非线性方程近似解
格式:x=fsolve(‘f’,x0)[X,FVAL]=fsolve(‘f’,X0,...)例:>>[x,f]=fsolve('cos(x)+x',1)x=-0.7391f=-2.8460e-01018/4210/5/1811.5数值积分理论和方法19/4210/5/1911.5数值积分理论和方法20/4210/5/2011.5数值积分理论和方法21/4210/5/2111.5数值积分理论和方法22/4210/5/2211.5数值积分理论和方法23/4210/5/2311.6数值积分Matlab实现1.一元函数数值积分函数1quad、quadl功效数值定积分,自适应Simpleson积分法。格式
q=quad(fun,a,b)%近似地从a到b计算函数fun数值积分,误差为10-6。若给fun输入向量x,应返回向量y,即fun是一单值函数。24/4210/5/2411.6数值积分Matlab实现q=quad(fun,a,b,tol)%用指定绝对误差tol代替缺省误差。tol越大,函数计算次数越少,速度越快,但结果精度变小。q=quad(fun,a,b,tol,trace,p1,p2,…)%将可选参数p1,p2,…等传递给函数fun(x,p1,p2,…),再作数值积分。若tol=[]或trace=[],则用缺省值进行计算。25/4210/5/2511.6数值积分Matlab实现[q,n]=quad(fun,a,b,…)%同时返回函数计算次数n…=quadl(fun,a,b,…)%用高精度进行计算,效率可能比quad更加好。例2-40>>fun=inline(‘3*x.^2./(x.^3-2*x.^2+3)’);>>Q1=quad(fun,0,2)%Q1=3.7224>>Q2=quadl(fun,0,2)%Q2=3.722426/4210/5/2611.6数值积分Matlab实现函数2trapz功效梯形法数值积分格式T=trapz(Y)%用等距梯形法近似计算Y积分。若Y是一向量,则trapz(Y)为Y积分;若Y是一矩阵,则trapz(Y)为Y每一列积分。27/4210/5/2711.6数值积分Matlab实现T=trapz(X,Y)%用梯形法计算Y在X点上积分。若X为一列向量,Y为矩阵,且size(Y,1)=length(X),则对Y每一列积分。28/4210/5/2811.6数值积分Matlab实现2二元函数重积分数值计算函数dblquad功效矩形区域上二重积分数值计算格式q=dblquad(fun,xmin,xmax,ymin,ymax)
%调用函数quad在区域[xmin,xmax,ymin,ymax]上计算二元函数z=f(x,y)二重积分。29/4210/5/2911.6数值积分Matlab实现q=dblquad(fun,xmin,xmax,ymin,ymax,tol)
用指定精度tol代替缺省精度10-6,再进行计算。q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)%用指定算法method代替缺省算法quad。method取值有@quadl。30/4210/5/3011.6数值积分Matlab实现q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,…)%将可选参数p1,p2,..等传递给函数fun(x,y,p1,p2,…)。若tol=[],method=[],则使用缺省精度和算法quad。如:>>fun=inline(’y./sin(x)+x.*exp(y)’);>>Q=dblquad(fun,1,3,5,7)计算结果为:Q=3.8319e+00331/4210/5/3111.6数值积分Matlab实现q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)%用指定算法method代替缺省算法。method取值有缺省算法或用户指定、与缺省命令有相同调用次序函数句柄。q=dblquad(fun,xlower,xupper,ymin,ymax,tol,method,p1,p2,…)%将可选参数p1,p2,..等传递给函数fun(x,y,p1,p2,…)。若tol=[],method=[],则使用缺省精度和算法。32/4210/5/3211.7常微分方程数值解函数ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb功效常微分方程(ODE)组初值问题数值解参数说明:solver为命令ode45、de23,ode113,ode15s,ode23s,ode23t,ode23tb之一。Odefun为显式常微分方程y’=f(t,y)。33/4210/5/3311.7常微分方程数值解Tspan积分区间(即求解区间)向量tspan=[t0,tf]。要取得问题在其它指定时间点t0,t1,t2,…上解,则令tspan=[t0,t1,t2,…,tf](要求是单调)。Y0包含初始条件向量。Options用命令odeset设置可选积分参数。P1,p2,…传递给函数odefun可选参数。34/4210/5/3411.7常微分方程数值解格式[T,Y]=solver(odefun,tspan,y0)%在区间tspan=[t0,tf]上,从t0到tf,用初始条件y0求解显式微分方程y’=f(t,y)。对于标量t与列向量y,函数f=odefun(t,y)必须返回一f(t,y)列向量f。解矩阵Y中每一行对应于返回时间列向量T中一个时间点。要取得问题在其它指定时间点t0,t1,t2,…上解,则令tspan=[t0,t1,t2,…,tf](要求是单调)。35/4210/5/3511.7常微分方程数值解[T,Y]=solver(odefun,tspan,y0,options)%用参数options(用命令odeset生成)设置属性(代替了缺省积分参数),再进行操作。惯用属性包含相对误差值RelTol(缺省值为1e-3)与绝对误差向量AbsTol(缺省值为每一元素为1e-6)。[T,Y]=solver(odefun,tspan,y0,options,p1,p2…)
将参数p1,p2,p3,..等传递给函数odefun,再进行计算。若没有参数设置,则令options=[]。36/4210/5/3611.7常微分方程数值解1.求解详细ODE基本过程:(1)依据问题所属学科中规律、定律、公式,用微分方程与初始条件进行描述。F(y,y’,y’’,…,y(n),t)=0y(0)=y0,y’(0)=y1,…,y(n-1)(0)=yn-1而y=[y;y(1);y(2);…,y(m-1)],n与m能够不等37/4210/5/3711.7常微分方程数值解(2)利用数学中变量替换:yn=y(n-1),yn-1=y(n-2),…,y2=y’,y1=y,把高阶(大于2阶)方程(组)写成一阶微分方程组:,
38/4210/5/3811.7常微分方程数值解(3)依据(1)与(2)结果,编写能计算导数M-函数文件odefile。(4)将文件odefile与初始条件传递给求解器Solver中一个,运行后就可得到ODE、在指定时间区间上解列向量y(其中包含y及不一样阶导数)。2.求解器Solver与方程组关系表见下表
39/4210/5/39函数指令含义函数含义求解器Solverode23普通2-3阶法解ODEodefile包含ODE文件ode23s低阶法解刚性ODE选项odeset创建、更改Solver选项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个性化辅导课后服务协议
- 个人租房协议书范本
- IT技术主管聘用合同
- KTV保洁工作合同
- 个人房产买卖简易合同书
- 交通运输服务采购合同争议管理
- 二手车交易市场协议
- 代理佣金合同
- 产品生产安全协议
- 个人实物借款协议书
- GB/T 43153-2023居家养老上门服务基本规范
- 《中华商业文化》第四章
- 服务与服务意识培训课件
- 第5课《秋天的怀念》群文教学设计 统编版语文七年级上册
- 二年级家长会语文老师课件
- 冬季安全生产特点及预防措施
- 视频短片制作合同范本
- 结构加固改造之整体结构加固教学课件
- 高中数学-3.3 幂函数教学课件设计
- 抑郁症与睡眠障碍课件
- 创新思维与创业实验-东南大学中国大学mooc课后章节答案期末考试题库2023年
评论
0/150
提交评论