[Python&Advances Mathematics Project # 2] How to take the derivative of a function by Python

发布于 2020-09-08  309 次阅读



title: >-
[Python&Advances Mathematics Project # 2] How to take the derivative of a
function by Python
type: categories
copyright: true
categories: Python
tags:

  • Python
  • 高等数学
  • 图像绘制与可视化
  • matplotlib
  • 考研数学工具
    comments: true
    top: false
    abbrlink: 2ad96df3
    date: 2020-08-06 21:00:49
    updated:

how can we take the derivative of a function by Python?

(1)Background And Introduction

How do you prove that the derivative of your function is correct?

You can't know for sure if the derivative is correct by hand, but we can write a math library in Python to verify it

(2)Derivative

This is some mindmaps about how to derivative the function (by the way,the language of these images is Chinese):


(3)Ex.

(3.1)Ex. 1

Let's derivative this function and caculate the value of derivative while the xo equals to one.

What does this function look like?

Let's draw it( You can learn how to plot a function by this passage which I writen if you don't how to plot a function in Python):

We can caculate it to the result like this:

Ok, now we will use the Lib which named Sympy of Mathematics in Python,, to solve it:

#!usr/bin/env python
# -*- conding:utf-8 -*-

# import the Lib
from sympy import *
import matplotlib.pyplot as plt

# define a function to caculate
# we can use the function to derivative the 
# function what you want to solve
def derivative(draw = False):
    """
    derivate
    @para draw: Bool,plot function or not
    """
    x,f = symbols("x,f")
    dx = 1
    # define a function which will be derivatived
    f = log(1+exp(x**2))
    print("the derivative of function :",diff(f,x))
    if dx != None:
        print("the value of derivative in xo (xo = {}):{}".format(dx,f.evalf(subs ={'x':dx})))
    if draw:
        ezplot = lambda expr:plot_implicit(sympify(expr))
        ezplot(f)

Calling derivative function: derivative(False) and we will take the derivative of it. Now we got the result:

the function of derivative like this:

(3.2)Ex. 2

We can get first derivative in default solution.

When we need to find the higher derivative, we can get the higher derivative through the following code:

#!usr/bin/env python
# -*- conding:utf-8 -*-

# import the Lib
from sympy import *
import matplotlib.pyplot as plt

# define a function to caculate
# we can use the function to derivative the 
# function what you want to solve
def derivative(draw = False):
    """
    derivate
    @para draw: Bool,plot function or not
    """
    x,f = symbols("x,f")
    dx = 1
    # define a function which will be derivatived
     n = 2
    f = x**3
    print("the derivative ({}) of function :{}".format(n,diff(f,x,n)))
    if dx != None:
        print("the value of derivative in xo (xo = {}):{}".format(dx,f.evalf(subs ={'x':dx})))
    if draw:
        ezplot = lambda expr:plot_implicit(sympify(expr))
        ezplot(f)

for example, We will take the second derivative of function: y = x^3 :

(4)Confusing Things

I try to show the function figure in Sympy code but failed.

    if draw:
        ezplot = lambda expr:plot_implicit(sympify(expr))
        ezplot(f)

You can find that the canvas have nothing on it.

Obviously, there are many problems with my code, so you can commit your correct code to me in comments if you are willing to help me and other learners!