十一讲优化与数值积分ppt课件_第1页
十一讲优化与数值积分ppt课件_第2页
十一讲优化与数值积分ppt课件_第3页
十一讲优化与数值积分ppt课件_第4页
十一讲优化与数值积分ppt课件_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十一讲 优化、数值积分与常微分方程数值解2022-1-28第十一讲 优化、数值积分与常微分方程数值解11.1 无约束优化11.2 约束线性优化11.3 二次规划11.4 非线性方程求解11.5 数值积分的实际和方法11.6 数值积分的Matlab实现11.7 常微分方程数值解11.1 无约束优化形如:min f(x), x=(x1,xn)T的优化问题常称为无约束线性规划,实践上是多元函数的无条件极值问题,极值的点是部分最优解,全局最优解只能从部分最优解中比较得到,以下所谓最优解均指部分最优解11.1 无约束优化1. fminbnd功能:计算非线性一元函数最小值。格式: X,FVAL = fm

2、inbnd(fun,x1,x2) 例:计算函数f(x)=(x3+x2-1)/(exp(x)+exp(-x)的最小值和最小值点,-5=x fun=(x3+x2-1)/(exp(x)+exp(-x); ezplot(fun) x,fval,exitflag=fminbnd(fun,-5,5)x = -3.3112fval = -0.9594exitflag = 111.1 无约束优化2. fminsearch功能:计算多元函数最小值。格式:X = fminsearch(fun,X0); X,fval,exitflag= fminsearch(.)例:求点(x1,x2)使目的函数f(x)获得最小值:

3、 f(x)=sin(x1)+cos(x2)11.1 无约束优化x0=0,0; fun=sin(x(1)+cos(x(2); x,fval,exitflag=fminsearch(fun,x0)x = -1.5708 3.1416fval = -2.0000exitflag = 111.2 约束线性优化约束优化即为含有一定条件的优化问题,其普通方式为假设f,gi是线性函数,那么称此模型为线性规划,否那么称为非线性规划。12min( ),( ,.,). .( )0Tnxizf xxx xxstg x11.2 约束线性优化linprog功能:约束线性优化。格式:X= linprog(f,A,b,Ae

4、q,beq) X= linprog(f,A,b,Aeq,beq,LB,UB) 这里,由Aeq与beq 确定了等式约束,LB,UB确定了x的范围,x0为初值。11.2 约束线性优化例:Min 5x1+4x2+2x3S.t 6x1-x2+3x3=8 x1+2x2+4x3=10 -1=x1=3 0=x2=011.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 约束线性优化 x,f=linprog(f,A,b,lb,ub)Optimization terminated.x = 1.3333 0.0000 0.

5、000f = -6.666711.3 二次规划对于非线性规划,常见的是二次规划,其普通模型为: min f(x)= 0.5 xTHx+cx s.t. AX b特别,当H为正定矩阵时,目的函数为凸函数,线性约束下可行域为凸集,此时称凸二次规划。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 二次规划例:111222121212

6、12111min( )()26122.22223,0 xxf xxxxxS txxxxxxx x11.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.3333f =-8.222211.4 非线性方程求解1.fzero功能:求非线性方程的近似解格式:x=fzero(f,x0) X,FVAL= fzero(f,.)例: x,f=fzero(sin,2)x =3.1416f =1.2246e-01611.4 非线性方程求解2.fsolve功能:求非线性方程

7、的近似解格式:x=fsolve(f,x0) X,FVAL=fsolve(f,X0,.)例: x,f=fsolve(cos(x)+x,1)x =-0.7391f =-2.8460e-01011.5数值积分的实际和方法11.5数值积分的实际和方法11.5数值积分的实际和方法11.5数值积分的实际和方法11.5数值积分的实际和方法11.6数值积分的Matlab实现11.6数值积分的Matlab实现11.6数值积分的Matlab实现q,n = quad(fun,a,b,) %同时前往函数计算的次数n = quadl(fun,a,b,) %用高精度进展计算,效率能够比quad更好。例2-40fun =

8、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实现函数2 trapz功能 梯形法数值积分格式 T = trapz(Y) %用等距梯形法近似计算Y的积分。假设Y是一向量,那么trapz(Y)为Y的积分;假设Y是一矩阵,那么trapz(Y)为Y的每一列的积分。11.6数值积分的Matlab实现11.6数值积分的Matlab实现2 二元函数重积分的数值计算函数 dblquad功能 矩形区域上的二重积分的数值计算格式 q = dblquad

9、(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,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

10、= 3.8319e+00311.6数值积分的Matlab实现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 常微分方程数值解格式 T,Y = solver(odefun,tspan,y0) %在区间tspan=t0,tf上,从t0到tf,用初始条件y0求解

11、显式微分方程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 常微分方程数值解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.

12、7 常微分方程数值解2运用数学中的变量交换:yn=y(n-1),yn-1=y(n-2),y2=y,y1=y,把高阶大于2阶的方程组写成一阶微分方程组: , )y, t (f)y, t (f)y, t (fyyyyn21n21n10n210yyy)0(y)0(y)0(yy11.7 常微分方程数值解3根据1与2的结果,编写能计算导数的M-函数文件odefile。4将文件odefile与初始条件传送给求解器Solver中的一个,运转后就可得到ODE的、在指定时间区间上的解列向量y其中包含y及不同阶的导数。2求解器Solver与方程组的关系表见下表 函数指令函数指令含含 义义函函 数数含含 义义求求解

13、解器器Solverode23普通普通2-3阶法解阶法解ODEodefile包含包含ODE的文件的文件ode23s低阶法解刚性低阶法解刚性ODE选选项项odeset创建、更改创建、更改Solver选选项项ode23t解 适 度 刚 性解 适 度 刚 性ODEodeget读取读取Solver的设置值的设置值ode23tb低阶法解刚性低阶法解刚性ODE输输出出odeplotODE的时间序列图的时间序列图ode45普通普通4-5阶法解阶法解ODEodephas2ODE的二维相平面图的二维相平面图ode15变阶法解刚性变阶法解刚性ODEodephas3ODE的三维相平面图的三维相平面图ode113普通变阶法解普通变阶法解ODEodeprint在命令窗口输出结果在命令窗口输出结果11.7 常微分方程数值解3由于没有一种算法可以有效地处理一切的ODE问题,为此,MATLAB提供了多种求解器Solver,对于不同的ODE问题,采用不同的Solver。求解器SolverODE类型特点阐明ode45非刚性一 步 算 法 ; 4 , 5 阶Runge-Kutta方程;累计截断误差达(x)3大部分场所的首选算法ode23非刚性一 步 算 法 ; 2 , 3 阶Runge-Kutta方程;累

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论