注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

徐小湛的博客

高等数学课件、函数图形动画、数学软件应用

 
 
 

日志

 
 

用Mathematica求二元函数的极值  

2011-08-11 10:34:55|  分类: Mathematica |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  
用Maple求二元函数的极值 - calculus - 高等数学
 
先求驻点

f[x_, y_] := x^3 - y^3 + 3*x^2 + 3*y^2 - 9*x;
fx = D[f[x, y], x]
fy = D[f[x, y], y]
Zhudian = Solve[{fx == 0, fy == 0}]

 

用Mathematica求二元函数的极值 - calculus - 高等数学
 

 

再求A,B,C:

fxx=D[f[x,y],x,x]

fyy=D[f[x,y],y,y]

fxy=D[f[x,y],x,y]

delta=fxx fyy-fxy^2 

 
用Mathematica求二元函数的极值 - calculus - 高等数学

 

 

判别极值(第一个数是判别式,第二个数是A,第三个数是函数值):

 

{delta, fxx, f[x, y]} /. {x -> -3, y -> 0}
{delta, fxx, f[x, y]} /. {x -> -3, y -> 2}
{delta, fxx, f[x, y]} /. {x -> 1, y -> 0}
{delta, fxx, f[x, y]} /. {x -> 1, y -> 2}

用Mathematica求二元函数的极值 - calculus - 高等数学

 

结论:

{-72,-12,27} (判别式<0 (-3,0)处无极值)

{72,-12,31}  判别式>0, A<0à在(-3,2)有极大值:31

{72,12,-5}   判别式>0, A>0à在(1,0)有极小值:-5

{-72,12,-1} (判别式<0 (1,2)处无极值)

 

 
 

函数的图形:

f[x_, y_] := x^3 - y^3 + 3*x^2 + 3*y^2 - 9*x;
qumian = Plot3D[f[x, y], {x, -5, 5}, {y, -5, 5}];
X = ParametricPlot3D[{x, 0, 0}, {x, -4, 4}, PlotStyle -> AbsoluteThickness[3]];
Y = ParametricPlot3D[{0, y, 0}, {y, -4, 4}, PlotStyle -> AbsoluteThickness[3]];
Z = ParametricPlot3D[{0, 0, z}, {z, -2, 50}, PlotStyle -> AbsoluteThickness[3]];
XYZ = Show[X, Y, Z];
Show[qumian, XYZ, BoxRatios -> {1, 1, 1.5}, ViewPoint -> {1, 2, 1}, PlotRange -> {-10, 50}]

用Maple求二元函数的极值 - calculus - 高等数学用Maple求二元函数的极值 - calculus - 高等数学

 

f[x_, y_] := x^3 - y^3 + 3*x^2 + 3*y^2 - 9*x;
qumian = Plot3D[f[x, y], {x, -5, 5}, {y, -5, 5}, ColorFunction -> Function[{x, y, z}, Hue[z]]];
X = ParametricPlot3D[{x, 0, 0}, {x, -4, 4}, PlotStyle -> AbsoluteThickness[3]];
Y = ParametricPlot3D[{0, y, 0}, {y, -4, 4}, PlotStyle -> AbsoluteThickness[3]];
Z = ParametricPlot3D[{0, 0, z}, {z, -2, 50}, PlotStyle -> AbsoluteThickness[3]];
XYZ = Show[X, Y, Z];
Show[qumian, XYZ, BoxRatios -> {1, 1, 1.5}, ViewPoint -> {1, 2, 1}, PlotRange -> {-10, 50}]

 

 

 

函数的等值线:

f[x_,y_]:=x^3-y^3+3*x^2+3*y^2-9*x;

ContourPlot[f[x,y],{x,-4,4},{y,-4,4},Axes->True,Frame->False,Contours->200,ContourShading->None]

 

 

 用Maple求二元函数的极值 - calculus - 高等数学

 

 

 

另一方法:根据等高线看出函数有两个极值点,然后用FindMaximumFindMinimum找到极值点和极值:

f[x_, y_] := x^3 - y^3 + 3*x^2 + 3*y^2 - 9*x;
ContourPlot[f[x, y], {x, -4, 4}, {y, -4, 4}, Axes -> True, Frame -> False, Contours -> 100, ContourShading -> None]
FindMaximum[f[x, y], {{x, 0}, {y, 0}}]
FindMinimum[f[x, y], {{x, 0}, {y, 0}}]

用Mathematica求二元函数的极值 - calculus - 高等数学

 

错!f(-3,0)=27应该不是极值!这个方法不可靠!

 

试一下直接在鞍点处找极值:

f[x_, y_] := x^3 - y^3 + 3*x^2 + 3*y^2 - 9*x;
FindMaximum[f[x, y], {{x, -3}, {y, 0}}]

 
 

 

  评论这张
 
阅读(1350)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016