机器学习中导数用的非常多,本文使用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 = x1 def 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,此点为极值等。
原文地址:https://www.cnblogs.com/thsk/p/8330050.html
时间: 2024-11-07 00:07:45