跳转至

如何使用 Python–Matplotlib 计算并绘制函数的导数?

原文:https://www.geeksforgeeks.org/如何使用 python-matplotlib/ 计算和绘制函数的导数

在本文中,我们将使用 matplotlib 和 python 绘制函数的导数。为此,我们使用 python 中的一些模块,如下所示:

  • Matplotlib:Matplotlib 是最流行的用于数据可视化的 Python 包之一。这是一个跨平台的库,用于从数组中的数据制作 2D 图。
  • NumPy: 它是一个用于处理数组的 python 库,它还支持大型多维数组和矩阵,它还有几个数学函数。
  • 【SciPy:Python 有一个名为 SciPy 的库,用于数学、科学和工程计算。这个库依赖于 NumPy,提供各种数值运算。****

*要先画出一个函数的导数,我们必须计算它。scipy.misc 库有一个*导数()函数,该函数接受一个参数作为函数,另一个参数是变量 w.r.t,我们将对该函数进行微分。因此,我们将创建一个名为 function()的方法,该方法将返回原始函数,并创建第二个名为 deriv()的方法,该方法将返回该函数的导数。****

*计算完输入函数的导数后,我们将使用 NumPy *linspace() 函数来设置 x 轴的范围。绘图()函数将用于绘制函数以及该函数的导数。****

**进场:****

  • *导入所需的模块。*
  • *定义函数及其导数的方法*
  • *使用 NumPy linspace 函数制作 x 轴间距。*
  • *绘制函数及其导数*
  • *使用 gca()函数更改轴的限制*
  • *使用 text()函数绘制文本*

**例 1:(三次导数)****

*在这个例子中,我们将给出函数 f(x)=2x 3 +x+3 作为输入,然后计算导数并绘制函数及其导数。*

*蟒蛇 3*

**# importing the library
import matplotlib.pyplot as plt
from scipy.misc import derivative
import numpy as np

# defining the function
def function(x):
    return 2*x*x*x+x+3

# calculating its derivative
def deriv(x):
    return derivative(function, x)

# defininf x-axis intervals
y = np.linspace(-6, 6)

# plotting the function
plt.plot(y, function(y), color='purple', label='Function')

# plotting its derivative
plt.plot(y, deriv(y), color='green', label='Derivative')

# formatting
plt.legend(loc='upper left')
plt.grid(True)**

**输出:****

**

**例 2:(多次多项式的导数)****

*在这个例子中,我们将给出函数 f(x)=x 4 +x 2 +5 作为输入,然后计算导数并绘制函数及其导数。*

*蟒蛇 3*

**# importing the library
import matplotlib.pyplot as plt
from scipy.misc import derivative
import numpy as np

# defining the function
def function(x):
    return x*x*x*x+x*x+5

# calculating its derivative
def deriv(x):
    return derivative(function, x)

# defininf x-axis intervals
y = np.linspace(-15, 15)

# plotting the function
plt.plot(y, function(y), color='red', label='Function')

# plotting its derivative
plt.plot(y, deriv(y), color='green', label='Derivative')

# formatting
plt.legend(loc='upper left')
plt.grid(True)**

**输出:****

**

**例 3:(带文本格式的二次导数)****

*在这个例子中,我们将绘制 f(x)=4x 2 +x+1 的导数。此外,我们将使用 *gca() 函数来改变轴的限制,使 x 轴和 y 轴在原点相交。matplotlib 库下的 text() 函数将文本绘制在图形上,并将参数作为(x,y)坐标。我们也会做一些格式化。****

*蟒蛇 3*

**# importing modules
import matplotlib.pyplot as plt
from scipy.misc import derivative
import numpy as np

# method to return function
def function(x):
    return 4*x**2+x+1

# method to return its derivative
def deriv(x):
    return derivative(function, x)

#range in x-axis
y = np.linspace(-6, 6)

# plotting function
plt.plot(y, function(y), color='brown', label='Function')

# plotting its derivative
plt.plot(y, deriv(y), color='blue', label='Derivative')

# changing limits of y-axis
plt.gca().spines['left'].set_position('zero',)

# changing limits of x-axis
plt.gca().spines['bottom'].set_position('zero',)
plt.legend(loc='upper left')

# plotting text in the graph
plt.text(5.0, 1.0, r"$f'(x)=8x+1{content}quot;, horizontalalignment='center',
         fontsize=18, color='blue')

plt.text(-4.4, 25.0, r'$f(x)=4x^2+x+1{content}apos;, horizontalalignment='center',
         fontsize=18, color='brown')
plt.grid(True)**

**输出:****

**



回到顶部