TensorFlow 多元函式的極值例項
阿新 • • 發佈:2020-02-11
flyfish
python實現
設函式 的某個鄰域內有定義,對於該鄰域內異於的點,如果都適合不等式
則稱函式在點有極大值。
如果都適合不等式
則稱函式在點有極小值.
極大值、極小值統稱為極值。使函式取得極值的點稱為極值點。
有極小值的例子
函式
在點(0,0)處有極小值。因為對於點 (0,0)的任一鄰域內異於(0,0)的點,函式值都為正,而在點(0,0)處的函式值為零。從幾何上看這是顯然的,因為點(0,0)是開口朝上的橢圓拋物面
的頂點。
程式碼
from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.arange(-10,10,0.1) Y = np.arange(-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()
有極大值的例子
函式
在點(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 Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.arange(-10,Y) Z = np.sqrt(X**2 + Y**2)*(-1) ax.plot_surface(X,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 Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.arange(-10,Y) Z = X*Y ax.plot_surface(X,cstride=1) plt.show()
以上這篇TensorFlow 多元函式的極值例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。