TensorFlow - 多元函数的极值

TensorFlow - 多元函数的极值

flyfish

python实现

设函数 z=f(x,y) 在点 (x0,y0) 的某个邻域内有定义,对于该邻域内异于的点,
如果都适合不等式
f(x,y)>f(x0,y0)
则称函数在点有极大值。
如果都适合不等式
f(x,y)<f(x0,y0)
则称函数在点有极小值.
极大值、极小值统称为极值。使函数取得极值的点称为极值点。

有极小值的例子
函数

z=3x2+4y2 在点(0,0)处有极小值。因为对于点 (0,0)的任一邻域内异于(0,0)的点,函数值都为正,而在点(0,0)处的函数值为零。从几何上看这是显然

的,因为点(0,0,0)是开口朝上的椭圆抛物面

z=3x2+4y2 的顶点。

这里写图片描述
代码

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-10, 10, 0.1)
Y = np.arange(-10, 10, 0.1)
X, Y = np.meshgrid(X, Y)
Z = (3*X**2 + 4*Y**2)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1)
plt.show()

有极大值的例子
函数

z=x2+y2 在点(0,0)处有极大值。因为在点(0,0)处函数值为零,而对于点(0,0)的任一邻域内异于(0,0)的点,函数值都为负,点(0

,0,0)是位于xOy平面下方的锥面$$z=-\sqrt{x^2+y^2}的顶点。

这里写图片描述
代码

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-10, 10, 0.1)
Y = np.arange(-10, 10, 0.1)
X, Y = np.meshgrid(X, Y)
Z = np.sqrt(X**2 + Y**2)*(-1)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1)
plt.show()

没有极大值也没有极小值的例子
 函数z=xy在点(0,0)处既不取得极大值也不取得极小值。因为在点(0,0)处的函数值为零,而在点(0,0)的任一邻域内,总有使函数值为正的点,也有使函

数值为负的点。
像一个马鞍的图形
这里写图片描述
代码

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-10, 10, 0.1)
Y = np.arange(-10, 10, 0.1)
X, Y = np.meshgrid(X, Y)
Z = X*Y
ax.plot_surface(X, Y, Z, rstride=1, cstride=1)
plt.show()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部