资源描述:
《数学实验教程_实验17(拉格朗日乘数法)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验17拉格朗日乘数法-99-实验17拉格朗日乘数法实验目的通过二维情形Lagrange乘数法的几何观察,帮助学生理解Lagrange乘数法,并掌握利用数学软件求解带等式约束条件的极值问题。预备知识条件极值、Lagrange乘子法实验内容Lagrange乘数法是解有约束最优化问题的一种方法。问题的形式为:最大化(或最小化);约束条件。【步骤】:为了具体,我们考察如下问题:最大化(或最小化);约束条件。【Step1】:画出约束曲线和的一些等值线,观察可能的最优值:图17-1等值线与可行域图从图中观察,要得到最优值,需要寻找约束曲线和等值曲线相切时的等值曲线值和它们的交点。
2、【程序】:Mathematica程序constrainpic=Plot[{Sqrt[1-x^2],-Sqrt[1-x^2]},{x,-1,1},AspectRatio®实验17拉格朗日乘数法-99-Automatic,Axes®True,PlotStyle®{{Thickness[0.01],RGBColor[0,0,1]}}];f[x_,y_]:=y-x^2;fpic=ContourPlot[f[x,y],{x,-1.4,1.4},{y,-1.4,1.4},ContourShading®False];Show[{constrainpic,fpic}]【Step2】:寻
3、找曲线之间相切的点由于的梯度是垂直于约束的(因为是的等值曲线),而且的梯度是垂直于的等值曲线的,因此当两个梯度互为倍数关系时,这两条曲线就相切了。我们要做的就是解关于变量的方程组:我们可以利用Mathematica来解这个方程组。【程序】:Mathematica程序g[x_,y_]:=x^2+y^2-1;gradf[x_,y_]={D[f[x,y],x],D[f[x,y],y]};gradg[x_,y_]={D[g[x,y],x],D[g[x,y],y]};Solve[{gradf[x,y]lamdagradg[x,y],g[x,y]==0},{x,y,lamda}]注
4、:并不是所有的这种方程都可由Solve求解,可以使用FindRoot命令求出某点附近的根。FindRoot[{g[x,y]0,gradf[x,y][[1]]lambdagradg[x,y][[1]],gradf[x,y][[2]]lambdagradg[x,y][[2]]},{x,1},{y,-0.6},{lambda,0.8}]{x®0.866025,y®-0.5,lambda®-1.}【Step3】:确定最大值或者最小值。实验17拉格朗日乘数法-99-f[-Sqrt[3]/2,-1/2]f[Sqrt[3]/2,-1/2]f[0,-1]-1f[0,1]1最小值为:,最
5、大值为:1。实验练习求位于椭球面上的最大值和最小值,并对得到的结果作出几何解释。