首页 第十一讲 优化与数值积分

第十一讲 优化与数值积分

举报
开通vip

第十一讲 优化与数值积分null第十一讲 优化、数值积分 与常微分方程数值解第十一讲 优化、数值积分 与常微分方程数值解*第十一讲 优化、数值积分 与常微分方程数值解第十一讲 优化、数值积分 与常微分方程数值解11.1 无约束优化 11.2 约束线性优化 11.3 二次规划 11.4 非线性方程求解 11.5 数值积分的理论和方法 11.6 数值积分的Matlab实现 11.7 常微分方程数值解 11.1 无约束优化11.1 无约束优化形如:min f(x), x=(x1,……,xn)T 的优化问题常称为无约束线性规划,实际上...

第十一讲 优化与数值积分
null第十一讲 优化、数值积分 与常微分方程数值解第十一讲 优化、数值积分 与常微分方程数值解*第十一讲 优化、数值积分 与常微分方程数值解第十一讲 优化、数值积分 与常微分方程数值解11.1 无约束优化 11.2 约束线性优化 11.3 二次规划 11.4 非线性方程求解 11.5 数值积分的理论和方法 11.6 数值积分的Matlab实现 11.7 常微分方程数值解 11.1 无约束优化11.1 无约束优化形如:min f(x), x=(x1,……,xn)T 的优化问题常称为无约束线性规划,实际上是多元函数的无条件极值问题,极值的点是局部最优解,全局最优解只能从局部最优解中比较得到,以下所谓最优解均指局部最优解11.1 无约束优化11.1 无约束优化1. fminbnd 功能:计算非线性一元函数最小值。 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 : [X,FVAL] = fminbnd(‘fun’,x1,x2) 例:计算函数f(x)=(x^3+x^2-1)/(exp(x)+exp(-x))的最小值和最小值点,-5<=x<=511.1 无约束优化11.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 = 111.1 无约束优化11.1 无约束优化2. fminsearch 功能:计算多元函数最小值。 格式:X = fminsearch(‘fun’,X0); [X,fval,exitflag]= fminsearch(...) 例:求点(x1,x2)使目标函数f(x)取得最小值: f(x)=sin(x1)+cos(x2)11.1 无约束优化11.1 无约束优化x0=[0,0]; >> fun='sin(x(1))+cos(x(2))'; >> [x,fval,exitflag]=fminsearch(fun,x0) x = -1.5708 3.1416 fval = -2.0000 exitflag = 111.2 约束线性优化11.2 约束线性优化约束优化即为含有一定条件的优化问题,其一般形式为 若f,gi是线性函数,则称此模型为线性规划,否则称为非线性规划。 11.2 约束线性优化11.2 约束线性优化linprog 功能:约束线性优化。 格式:X= linprog(f,A,b,Aeq,beq) X= linprog(f,A,b,Aeq,beq,LB,UB) 这里,由Aeq与beq 确定了等式约束,LB,UB确定了x的范围,x0为初值。11.2 约束线性优化11.2 约束线性优化例:Min –5x1+4x2+2x3 S.t 6x1-x2+3x3<=8 x1+2x2+4x3<=10 -1<=x1<=3 0<=x2<=2 x3>=0 11.2 约束线性优化11.2 约束线性优化 >clear >> f=[-5 4 2]; >> A=[6 -1 1;1 2 4]; >> b=[8;10]; > lb=[-1 0 0]; >> ub=[3,2];11.2 约束线性优化11.2 约束线性优化>> [x,f]=linprog(f,A,b,[],[],lb,ub) Optimization terminated. x = 1.3333 0.0000 0.000 f = -6.6667 11.3 二次规划11.3 二次规划对于非线性规划,常见的是二次规划,其一般模型为: min f(x)= 0.5 xTHx+cx s.t. AX ≤ b 特别,当H为正定矩阵时,目标函数为凸函数,线性约束下可行域为凸集,此时称凸二次规划。11.3 二次规划11.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)11.3 二次规划11.3 二次规划例:11.3 二次规划11.3 二次规划h=[1 -1;-1 2]; >> c=[-2;-6]; >> a=[1 1;-1 2;2 1]; >> b=[2;2;3]; >> lb=[0 0]; >> [x,f]=quadprog(h,c,a,b,[],[],lb) x =0.6667 1.3333 f =-8.222211.4 非线性方程求解11.4 非线性方程求解1.fzero 功能:求非线性方程的近似解 格式:x=fzero(‘f’,x0) [X,FVAL]= fzero(‘f’,...) 例:>> [x,f]=fzero('sin',2) x =3.1416 f =1.2246e-01611.4 非线性方程求解11.4 非线性方程求解2.fsolve 功能:求非线性方程的近似解 格式:x=fsolve(‘f’,x0) [X,FVAL]=fsolve(‘f’,X0,...) 例:>> [x,f]=fsolve('cos(x)+x',1) x =-0.7391 f =-2.8460e-01011.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.5数值积分的理论和方法11.6数值积分的Matlab实现11.6数值积分的Matlab实现1. 一元函数的数值积分 函数1 quad、quadl 功能 数值定积分,自适应Simpleson积分法。 格式 q = quad(fun,a,b) %近似地从a到b计算函数fun的数值积分,误差为10-6。若给fun输入向量x,应返回向量y,即fun是一单值函数。11.6数值积分的Matlab实现11.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=[ ],则用缺省值进行计算。11.6数值积分的Matlab实现11.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.722411.6数值积分的Matlab实现11.6数值积分的Matlab实现函数2 trapz 功能 梯形法数值积分 格式 T = trapz(Y) %用等距梯形法近似计算Y的积分。若Y是一向量,则trapz(Y)为Y的积分;若Y是一矩阵,则trapz(Y)为Y的每一列的积分。11.6数值积分的Matlab实现11.6数值积分的Matlab实现T = trapz(X,Y) %用梯形法计算Y在X点上的积分。若X为一列向量,Y为矩阵,且size(Y,1) = length(X),则对Y的每一列积分。11.6数值积分的Matlab实现11.6数值积分的Matlab实现2 二元函数重积分的数值计算 函数 dblquad 功能 矩形区域上的二重积分的数值计算 格式 q = dblquad(fun,xmin,xmax,ymin,ymax) %调用函数quad在区域[xmin,xmax, ymin,ymax]上计算二元函数z=f(x,y)的二重积分。11.6数值积分的Matlab实现11.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。11.6数值积分的Matlab实现11.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+00311.6数值积分的Matlab实现11.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=[],则使用缺省精度和算法。11.7 常微分方程数值解11.7 常微分方程数值解函数 ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb 功能 常微分方程(ODE)组初值问题的数值解 参数说明: solver为命令ode45、de23,ode113,ode15s,ode23s, ode23t, ode23tb之一。 Odefun 为显式常微分方程y’=f(t,y)。 11.7 常微分方程数值解11.7 常微分方程数值解Tspan 积分区间(即求解区间)的向量tspan=[t0,tf]。要获得问题在其他指定时间点t0,t1,t2,…上的解,则令tspan=[t0,t1,t2,…,tf](要求是单调的)。 Y0 包含初始条件的向量。 Options 用命令odeset设置的可选积分参数。 P1,p2,… 传递给函数odefun的可选参数。11.7 常微分方程数值解11.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](要求是单调的)。11.7 常微分方程数值解11.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=[]。11.7 常微分方程数值解11.7 常微分方程数值解1.求解具体ODE的基本过程: (1)根据问题所属学科中的规律、定律、公式,用微分方程与初始条件进行描述。 F(y,y’,y’’,…,y(n),t) = 0 y(0)=y0,y’(0)=y1,…,y(n-1)(0)=yn-1 而y=[y;y(1);y(2);…,y(m-1)],n与m可以不等11.7 常微分方程数值解11.7 常微分方程数值解(2)运用数学中的变量替换:yn=y(n-1),yn-1=y(n-2),…,y2=y’,y1=y,把高阶(大于2阶)的方程(组)写成一阶微分方程组: , 11.7 常微分方程数值解11.7 常微分方程数值解(3)根据(1)与(2)的结果,编写能计算导数的M-函数文件odefile。 (4)将文件odefile与初始条件传递给求解器Solver中的一个,运行后就可得到ODE的、在指定时间区间上的解列向量y(其中包含y及不同阶的导数)。 2.求解器Solver与方程组的关系 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 见下表 null11.7 常微分方程数值解11.7 常微分方程数值解3.因为没有一种算法可以有效地解决所有的ODE问题,为此,MATLAB提供了多种求解器Solver,对于不同的ODE问题,采用不同的Solver。 null
本文档为【第十一讲 优化与数值积分】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_676185
暂无简介~
格式:ppt
大小:505KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2012-06-08
浏览量:19