隱函數(shù)圖形是指存在于平面直角坐標(biāo)系中的方程$F(x, y) = 0$表示的圖形,它與顯函數(shù)的圖形不同,沒有解析式來描述它的形狀。然而,在Python中,我們可以使用Matplotlib庫中的Contour函數(shù)來畫出這些隱函數(shù)圖形。
import numpy as np import matplotlib.pyplot as plt def F(x, y): return x**2 + y**2 - 1 x = np.linspace(-1, 1, 101) y = np.linspace(-1, 1, 101) X, Y = np.meshgrid(x, y) plt.contour(X, Y, F(X, Y), [0]) plt.show()
在上面的代碼中,我們定義了一個F函數(shù)來表示隱函數(shù)$F(x, y) = x^2 + y^2 - 1 = 0$,然后使用Numpy庫的linspace函數(shù)生成-1到1之間的101個均勻分布的點(diǎn),再利用meshgrid函數(shù)生成一個網(wǎng)格,將x與y坐標(biāo)合并成一個實(shí)際的坐標(biāo)系。
接著,我們調(diào)用contour函數(shù)繪制隱函數(shù)圖形。函數(shù)中的X、Y、F(X, Y)分別代表x、y的坐標(biāo)和F函數(shù)的值,[0]表示只繪制$f(x,y)=0$這一等值線。
最后使用show函數(shù)將圖形顯示出來,結(jié)果如下:
plt.contour(X, Y, F(X, Y), [0]) plt.show()
上圖中所畫的就是$x^2 + y^2 - 1 = 0$這一隱函數(shù)的圖形。同樣的方法,我們可以繪制其它的隱函數(shù)圖形。只需要定義好函數(shù)F,然后調(diào)用contour函數(shù)即可。