使用matplotlib繪制導數圖像
阿新 • • 發佈:2018-01-22
http 學習 分享圖片 odi size 極值 blog mat lower
機器學習中導數用的非常多,本文使用matlotlib繪制函數的導數圖像,代碼如下:
# -*- coding: utf-8 -*- import matplotlib import numpy as np import matplotlib.pyplot as plt # 確定坐標軸 plt.xlim((-3, 3)) plt.ylim((-70, 150)) # 確定函數的x,y值 x1 = np.linspace(-3,3.5,100) def y1(x1): y1 = 3*x1**3 + 2*x1**2 + x1 + 4 return y1 # 一階導數的x,y值 x2 = x1def y2(x2): y2 = 9*x2**2 + 4*x2 + x2 return y2 # 確定二階導數的x,y值 x3 = x1 def y3(x3): y3 = 18*x3 + 4 return y3 # plot為繪制圖像的函數,label為標記 plt.plot(x1, y1(x1), ‘r-‘,linewidth=1,label=‘f(x)‘) plt.plot(x2, y2(x2), ‘g--‘,linewidth=1,label="f ‘(x)") plt.plot(x3, y3(x3), ‘b-‘,linewidth=0.8,label="f ‘ ‘(x)") # 在圖上添加文字註釋 plt.text(-2.8,y1(3),‘f(x)=3x**3 + 2x**2 + x + 4‘,size=13) # 將標記繪制圖例 plt.legend([‘f(x)‘,"f ‘(x)","f ‘ ‘(x)"], loc = ‘lower right‘) plt.show() plt.close()
運行結果如下,可以通過圖像看到導數的性質:如一階導數為0,此點為極值等。
使用matplotlib繪制導數圖像