第五章Matlab在高等数学中的应用_第1页
第五章Matlab在高等数学中的应用_第2页
第五章Matlab在高等数学中的应用_第3页
第五章Matlab在高等数学中的应用_第4页
第五章Matlab在高等数学中的应用_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章第五章2 Matlab在高等数学中的应用在高等数学中的应用主要内容主要内容5.1. 5.1. 函数与极限计算函数与极限计算5.2. 5.2. 代数方程的计算代数方程的计算5.4. 5.4. 极值的计算极值的计算5.3. 5.3. 微商的计算微商的计算5.5. 5.5. 积分的计算积分的计算5.6. 5.6. 曲线积分和曲面积分曲线积分和曲面积分5.7. 5.7. 微分方程(组)的求解微分方程(组)的求解5.8. 5.8. 无穷级数无穷级数5.1.1函数计算如同使用高级计算器一样,给定自变量的数据即可获得对应的函数值,如y=sin(x),并且可以同时计算任意多点的函数值。5.1.2一元函数

2、极限问题的解析解000lim( )lim( )lim( )xxxxxxAf xAf xAf x极限问题的一般描述为:MATLAB符号运算工具箱中可以使用limit()函数进行计算,调用格式有:limit(f,x,a)limit(f,a) 符号函数符号函数f的变量为函数的变量为函数findsym(f)确定的默认自变量。确定的默认自变量。limit(f)符号函数符号函数f的变量为函数的变量为函数findsym(f)确定的默认自变量,系统默认变量趋于确定的默认自变量,系统默认变量趋于0limit(f,x,a,right)limit(f,x,a,left)5.1. 5.1. 函数与极限计算函数与极限计

3、算例如:5.1.3 多元函数的极限多元极限问题的一般描述为:00lim( )xxyyAf x可以嵌套使用limit函数,调用形式如下:limit(limit(f,x,x0),y,y0),如果x0,y0不是确定的值,则极限求取顺序不能交换。limit(limit(f,y,y0),x,x0)例如:5.2. 5.2. 代数方程的计算代数方程的计算roots(p) p是代表多项式的系数,按照降幂方式形成的行向量,适用于次数不超过20的多项式。fzero(f,x0) 在x0附近寻找函数f的零点,如果x0是一个区间a,b时,则在a,b内寻找一个近似零点。solve(f)求解表达式f的代数方程,求解变量为默

4、认变量。solve(f,x)求解变量为xsovle(f1,f2,.,fn,x1,x2,.,xn)求解f1,f2,.,fn表示的代数方程组。MATLAB提供了求代数方程及方程组的命令函数,调用格式如下:例如:5.3. 5.3. 微商的计算微商的计算5.3.15.3.1符号导数符号导数diff(f) 没有指定变量和导数阶数,系统按照findsym函数指示的默认变量求一阶导数diff(f,x) 对x求一阶导数diff(f,n) 按findsym函数指示的默认变量求n阶导数,n必须为正整数。diff(f,x,n) 以x为自变量,对符号表达式f求n阶倒数diff函数用于对符号表达式求导数,该函数的调用形

5、式为:注:对于隐函数微商的计算,可以根据二元隐函数骗导计算公式进行:fdyxyfdxy 例如:5.3.2 5.3.2 偏导数偏导数diff函数同样可以用于求偏导数,调用格式同一元函数相同,二阶偏导数的调用格式为:pdiff(diff(z,x), y) 表示z先对x求偏导,在对y求偏导。5.4. 5.4. 极值计算之极值计算之 MATLAB MATLAB的优化工具箱的优化工具箱(1)求解无约束条件非线性极小值;(2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问题以及半无限极小值问题;(3)求解二次规划和线性规划问题;(4)非线性最小二乘逼近和曲线拟合;(5)非线性系统的方程求解;

6、(6)约束条件下的线性最小二乘优化;(7)求解复杂结构的大规模优化问题。1、Matlab优化工具箱可以解决的问题优化工具箱可以解决的问题2、优化工具箱、优化工具箱4.0的结构的结构优化工具箱4.0连续优化离散优化0-1规划(bintprog)无约束优化约束优化非线性极小fminunc非光滑优化fminsearch线性规划linprog二次规划quadprog其他规划gagamultiobjsimulannealbndpatternsearchthreshacceptbnd非线性方程fzerofsolve非线性最小二乘lsqnonlinlsqcurvefit非线性规划fminconfminima

7、xfgoalattainfseminf约束线性最小二乘lsqnonneglsqlin上下界约束fminbndfminconlsqnonlinlsqcurvefit3、优化工具箱中常用的函数及其功能、优化工具箱中常用的函数及其功能类型类型模型模型基本函数基本函数一元函数极小值x=fminbnd(F,x1,x2)无约束极小值x=fminunc(F,x0) x=fminsearch(F,x0)线性规划x=linprog(c,A,b)0-1整数规划x=bintprog(F)二次规划x=quadprog(H,c,A,b)约束极小值 x=fmincon(FG,X0)非线性最小二乘x=lsqnonlin(F

8、,X0)目标达到问题x=fgoalattain(F,x,goal,w)极小极大问题x=fminimax(FG,x0)( ). . 12Min F xst xxx( )Min F x. .TMin c xs t AXbmin( ). .01iF xAXbs tAeq XbeqX或12.TTMinx Hx c xst Ax b( ). .( )0Min F xs t G x 221min()()niiFXFX. .( )Min rst F xwrgoal( )max( ). .( )0iixFxMinF xs t G x 变量变量描述描述调用函数调用函数f线性规划目标函数f*X或二次规划的目标函数

9、X*H*X+F*X中线性项的系数向量linprog,quadprogfun非线性优化的目标函数. fun必须为行命令对象或M文件、嵌入函数、或MEX文件的名称fminbnd,fminsearch,fminunc,fmincon,lsqcurvefit,lsqnonlin,fgoalattain,fminimaxH二次规划目标函数X*H*X+f*X中的二次项的系数矩阵quadprogA,bA矩阵和b向量分别为线性不等式约束:AXb中的系数矩阵和右端向量linprog,quadprog,fgoalattain,fmincon,fminimaxAeq,beqAeq矩阵和beq向量分别为线性等式约束A

10、eq*X=beq中的系数矩阵和右端向量linprog,quadprog,fgoalattain,fmincon,fminimaxvlb,vub X的下限和上限向量linprog,quadprog,fgoalattain,fmincon,fminimax,lsqcurvefit,lsqnonlinX0迭代初始点坐标除fminbnd外所有函数x1,x2函数最小化的区间fminbndoptions优化选项参数结构所有优化函数4、函数输入参数、函数输入参数5、函数输出参数、函数输出参数变量变量描述描述调用函数调用函数exitflag描述退出条件:exitflag0表示目标函数收敛于xexitflag=

11、0表示已达到函数评价或迭代的最大次数exitflag0表示目标函数不收敛x由优化函数求的x值所有优化函数feval解x处的目标函数值linprog,quadprog,fgoalattainfmincon,fminimax,lsqcurvefitlsqnonlin,fminbndoutput包含优化结果信息的输出结构iterations,Algorithm,FuncCount(函数评价次数)所有优化函数注意:多数优化函数要求目标函数最小化,如果要求最大化,可以通过使该目标函数的负值最小化实现;约束非负时,通过对不等式取负可以使大于零的约束变为小于零的不等式约束;避免使用全局变量。6、GUI优化工

12、具及使用步骤优化工具及使用步骤通过在命令行输入optimtool或者打开start/Toolboxes/Optimization/Optimization tool。第一步第二步第三步第四步第五步第六步第七步例一:用单纯形法求解下面的线性规划例一:用单纯形法求解下面的线性规划1212121212min4242312. .3,0fxxxxxxs txxxx 例二:非线性优化例二:非线性优化123123123( )220. .2272f xx x xxxxstxxx 使用fminbnd函数:x=fminbnd(fun,x1,x2),求函数在区间x1,x2上的极小值对应的自变量值x=fminbnd(

13、fun,x1,x2,options)x,fval=fminbnd(.),fval返回最小值x,fval,exitflag=fminbnd(.)exitflag返回求解状态(成功还是失败!成功还是失败!)x,fval,exitflag,output=fminbnd(.)output返回函数fminbnd的求解信息(迭代次数,所用算法等)例题:求f(x)=x4-x2+x-1在区间-2,1上的极小值。(1)使用fminsearch函数:x=fminsearch(fun,x0)x=fminsearch(fun,x0,options)x,fval=fminsearch(.)x,fval,exitflag

14、=fminsearch(.)x,fval,exitflag,output=fminsearch(.)例题:fminsearch函数求f(x)=1/(x1-2)2+3)-1/(2(x2+1)2-5),初始点0,0,运算结果如下:(2)使用fminunc函数:x=fminunc(fun,x0,options)x=fminunc(problem),所需求解的问题和选项由problem结构指定,包含objective(目标函数),x0(初始点),solver(求解方法),optionsx,fval=fminunc(.)x,fval,exitflag=fminunc (.)x,fval,exitflag

15、,output=fminunc(.)x,fval,exitflag,output,grad=fminunc(.),grad返回函数fun在极小点处的梯度;x,fval,exitflag,output,grad,hessian,hessian是函数fun在极小点x处的海森矩阵。例题:fminunc函数求f(x)=1/(x1-2)2+3)-1/(2(x2+1)2-5),初始点0,0,运算结果如下:注:当用户没有提供梯度矩阵的时候,fminunc采用线性搜索算法(本题使用了拟牛顿法),当用户提供梯度矩阵的时候,fminunc采用信赖域算法。(3)使用fminimax函数:x=fminimax(fun

16、,x0)x=fminimax(fun,x0,A,b),从起始点x0出发,求出fun满足约束条件 的一个最小最大点;x=fminimax(fun,x0,A,b,Aeq,beq)x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub)x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)nonlcon包括非线性约束;x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)options指定优化选项;x=fminimax(problem)x,fval=fminimax(.)该函数解决如下一类优化问题:(

17、 )0( )0minmax( ), . .xic xceq xFi x stAxbAeq xbeqlbxubAxbx,fval,maxfval=fminimax(.)x,fval,maxfval,exitflag=fminimax(.) x,fval,maxfval,exitflag,output=fminimax(.)x,fval,maxfval,exitflag,output,lambda=fminimax(.)lambda返回拉格朗日乘子结构例题:fminimax函数求最小最大值问题 结果见下页1sin( 2)minmax( ), . .0111 2xxF xstxx xMATLAB中求

18、解约束优化问题的函数时中求解约束优化问题的函数时fmincon,调用格式为:调用格式为:(1)x=fmincon(fun,x0,A,b);(2)x=fmincon(fun,x0,A,b,Aeq,beq);(3)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub);(4)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon);nonlcon代表非线性约束条件;(5) x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options);(6)x=fmincon(problem);(7)x,fval=fmincon

19、(.);(8)x,fval,exitflag=fmincon(.);(9)x,fval,exitflag,output=fmincon(.);(10) x,fval,exitflag,output,lambda=fmincon(.);lambda返回解x处拉格朗日乘子信息(11)x,fval,exitflag,output,lambda,grad=fmincon(.)(12) x,fval,exitflag,output,lambda,grad,hessian=fmincon(.)例题:22490min( , )4815, . . 232,( , )(1,2)5stf s tsstststs

20、tts 初始点解:建立目标函数文件function y=OptimFun(x)y=x(1)4-4*x(1)-8*x(2)+15;建立非线性约束函数文件:function c,ceq=ConFun(x)c=9-x(1)2-x(2)2;ceq=;运行结果见下页!MATLAB中的函数lsqnonlin用来求解如下形式的非线性最小二乘优化问题:221min( )( )niifxfx调用格式有:(1)x=lsqnonlin(fun,x0);(2)x=lsqnonlin(fun,x0,lb,ub);(3)x=lsqnonlin(fun,x0,lb,ub,options);(4)x=lsqnonlin(pr

21、oblem);(5)x,resnorm=lsqnonlin(.)返回值resnorm为残差的平方,即最优值(6) x,resnorm,residual=lsqnonlin(.)返回值residual为残差(7) x,resnorm,residual,exitflag=lsqnonlin(.)(8) x,resnorm,residual,exitflag,output=lsqnonlin(.)(9) x,resnorm,residual,exitflag,output,lambda=lsqnonlin(.)(10) x,resnorm,residual,exitflag,output,lambd

22、a,jacobian=lsqnonlin(.)jacobian是最优值x处的雅克比矩阵2( )fx例题121221222212121sin(2)1(3)2( )1xxxxxf xeexxx xx221min( )( )niifxfx建立方程的m文件function y=lsqfun(x)y=sin(x(1)+x(2)-2); 1/(2-(x(1)-3)2); exp(2*x(1)+exp(2*x(2); x(1)2+x(2)2-x(1)*x(2) .+x(1)+1;在MATLAB R2009a中用于求解线性规划的函数式linprog,能求解下面形式线性规划问题:min, . .TxA xbf

23、x stAeq xbeqlbxub调用形式如下:(1)x=linprog(f,A,b) 求解(2)x=linprog(f,A,b,Aeq,beq)(3)x=linprog(f,A,b,Aeq,beq,lb,ub)(4) x=linprog(f,A,b,Aeq,beq,lb,ub,x0)(5) x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)(6)x=linporog(problem) 结构problem用来指定线性规划问题(7)x,fval=linprog(.) (8)x,fval,exitflag=linprog(.)(9) x,fval,exitflag,

24、output=linprog(.)(10)x,fval,exitflag,output,lambda=linprog(.)lambda是包含最优解处拉格朗日乘子的结构体min, . .Txf x st Axb例题:12312312312min2315. . 2520,0fxxxxxxstxxxx x在MATLAB中,提供了函数bintprog来求解0-1整数规划,其优化模型为:min, . .1,0TiAxbf x stAeq xbeqx它的调用形式有:它的调用形式有:x=bintprog(f)x=bintprog(f,A,b)x=bintprog(f,A,b,Aeq,beq)x=bintpr

25、og(f,A,b,Aeq,beq,x0)x=bintprog(f,A,b,Aeq,beq,x0,options)x=bintprog(problem)x,fval=bintprog(.)x,fval,exitflag=bintprog(.)x,fval,exitflag,output=bintprog(.)12345123451234512345min( )23,235478. .4225,01f xxxxxxxxxxxstxxxxxx x x x x或例题:MATLAB中的函数quadprog可用来解决如下二次规划模型:1min, . .2TTAxbx Hxf x stAeq xbeqlbx

26、ub调用形式为:调用形式为:(1)x=quadprog(H,f,A,b);(2)x=quadprog(H,f,A,b,Aeq,beq);(3)x=quadprog(H,f,A,b,Aeq,beq,lb,ub);(4) x=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0);(5) x=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options);(6) x=quadprog(problem);(7)x,fval=quadprog(.)(8)x,fval,exitflag=quadprog(.)(9) x,fval,exitflag,output=qua

27、dprog(.)(10) x,fval,exitflag,output,lambda=quadprog(.)例题:1222121212121224min32434, . .240,0 xxzxxx xxx stxxxx6432140,4441240HfAblb 计算结果见下页注:在默认情况下,如果指定了如下两种约束中的任意一种,quadprog采用大型算法(large-scale)。(1)自变量的上界和下界约束;(2)线性方程约束,约束矩阵Aeq的列向量线性无关,且Aeq是稀疏矩阵。5.5. 5.5. 积分的计算积分的计算5.5.1 5.5.1 定积分和不定积分定积分和不定积分符号积分用函数i

28、nt来实现,其调用格式为:pint(f,x) 对被积函数f求关于x的不定积分。pint(f,x,a,b)求定积分,a,b可以是具体的数值,符号表达式或者inf5.5.2 5.5.2 多重积分多重积分多重积分包括二重积分和三重积分,在计算二重积分前必须把积分区域变成x-型或y-型或-型,如下所示:( , )Df x y d12( )( )axbxyx12( )( )cydyxy12( )( )rrr21( )( )( , )bxaxf x y dy dx 21( )( )( , )dycyf x y dx dy 21( )( )( cos , sin )rrf rrddr 对于x-型对应的MAT

29、LAB命令为:int(int(f,y,1(x), 2(x),x,a,b),其他类似可得。三重积分与二重积分类似,需要将立体空间变为直接坐标系下的xOy型或柱面坐标系下的r-型或者球面坐标系下的r-型。10sinyyxxdxdy 11210yx dy 1100 xxyxyzdzdydx 5.6.5.6.曲线积分和曲面积分曲线积分和曲面积分5.6.1 曲线积分曲线积分曲线积分有两种类型,对弧长的曲线积分弧长的曲线积分和对坐标的曲线积分对坐标的曲线积分。1、第一类曲线积分(1)如果L可以用y=y(x)来表示而且在axb内是单值函数,可以下面公式计算:2( , )( , ( ) 1bLaf x y d

30、xdyf x y xy dx(2)如果L可以用参数方程x=x(t),y=y(t), t,则可以利用下面公式计算:22( , )( ( ), ( ) ( ) ( )Lf x y dxdyf x ty txtyt dt例1:222()LLxy dsyxyx求,其中 是曲线和围成的正向曲线222Lcos ,sin ,(02 ,0)Lzdsxat yat zattaxy 求,其中 为螺旋线,2、第二类曲线积分(对坐标的曲线积分)、第二类曲线积分(对坐标的曲线积分)( , )( , ) ( ( ), ( ) ( )( ( ), ( ) ( )Lf x y dxg x y dyf x ty tx tg x ty ty t dt如果曲线L是光滑的,则可以利用可加性计算,如果L是封闭的,逆时针是正方向。222(2)(2)( 11)Lxxy dxyxy dyLyxy 求,其中 是抛物线222222()2()(),cos ,sin ,02LxydyLxyaxxayaxaat yatt 求,其中 为圆周按逆时针方向,此为封闭曲线,又5.6.2 5.6.2 曲面积分曲面积分曲面积分有两种类型,对面积的曲面积分和对坐标的曲面积分。1、第一类曲面积分22( , , ),S( ,

温馨提示

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

评论

0/150

提交评论