mathematica求函数的极值线性规划.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 求极值及解线性规划问题命令与例题 在一些实际问题中, 经常遇到需要知道某个已知函数(带有条件约束或不带条件约束)在哪些点取得极大值或极小值的问题,所考虑的已知函数常称为目标函数, Mathematica提供了求目标函数的局部极小值命令和线性规划(即带有线性条件约束的线性目标函数在约束范围内的极小和极大值)命令。 7.1求函数的局部极值 Mathematica只给出了求局部极小值的命令,如果要求局部极大值只要把命令中的目标函数加上负号即可,即把“目标函数”变为“-目标函数”就可以求局部极大值了。 Mathematica求函数局部极小值的一般形式为: FindMinimum [目标函数, {自变量名1,初始值1}, {自变量名2,初始值2},…] 具体的拟合命令有: 命令形式1:FindMinimum [f[x], {x, x0}] 功能:以 x0为初值, 求一元函数f(x)在x0附近的局部极小值。 命令形式2:FindMinimum [f[x], {x, { x0 , x1}}] 功能:以 x0和x1为初值,求一元函数f(x)在它们附近的局部极小值。 命令形式3:FindMinimum [f[x], {x, x0 , xmin,xmax }] 功能:以 x0为初值, 求一元函数f(x)在x0附近的局部极小值, 如果中途计算超出自变量范围[xmin,xmax], 则终止计算。 命令形式4:FindMinimum [f[x,y,...], {x, x0},{y, y0},…] 功能:以点(x0, y0,…)为初值, 求多元函数f(x,y,…)在(x0, y0,…)附近的局部极小值。 注意:1)所有命令结果显示形式为:{极小值, {自变量 - 极小值点}} 2)把上面命令中的目标函数f[…]写为 –f[…], 对应的命令就可以用来求局部极大值了,但要注意的是此时求出的结果是–f[…]的局部极小值,因此,还要把所求出的极小值前面加上负号才是所要的局部极大值。 3)命令2主要用于目标函数没有导数的情况。 4)(x0, y0,…)可以根据实际问题来猜测,对二元函数的极值还可以借助等高线图中的环绕区域得到。 例题 求函数y=3x4-5x2+x-1, 在[-2,2]的极大值、极小值和最大值、最小值。 解: 先画出函数图形,再确定求极值的初值和命令。Mathematica 命令为: In[1]:= Plot[3x^4-5x^2+x-1,{x,-2,2}] Out[1]=-Graphics- 从图中看到函数在-1和1附近有两个极小值点,在0附近有一个极大值点,用Mathematica 命令求之: In[2]:=FindMinimum[3x^4-5x^2+x-1,{x,1}] Out[2]= {-2.19701, {x - 0.858028}} (*函数在 x=0.858028取得极小值-2.19701 In[3]:=FindMinimum[3x^4-5x^2+x-1,{x,-1}] Out[3]= {-4.01997, {x - -0.959273}} (*函数在 x=-0.959273取得极小值-4.01997 In[4]:=FindMinimum[-?(3x^4-5x^2+x-1), {x,0}] Out[4]= {0.949693, {x - 0.101245}} (*函数在 x=0.101245取得极大值-0.949693 In[5]:= 3x^4-5x^2+x-1/.x--2 (*计算函数在 x=-2的值 Out[5]=25 In[6]:= 3x^4-5x^2+x-1/.x-2 (*计算函数在 x=2的值 Out[6]=29 故所求函数在[-2,2]的x=2处取得最大值29, 在x=-0.959273处取得最小值为-4.01997。 求函数z= e2x(x+y^2+2y),在区间[-1,1]([-2,1]内的极值。 解: 本题限制了求极值的范围,为确定初值,借助等高线图Mathematica命令为 In[7]:= ContourPlot[Exp[2x]*(x+y^2+2y),{x,-1,1},{y,-2,1}, Contours-20, ContourShading-False, PlotPoints-30] 从图中可知函数在(0.45,-1.2)可能有极值,取x0=0.45,y0= -1.1, 再用求极值命令 In[8]:= FindMinimum[Exp[2

您可能关注的文档

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档