0%

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

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!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.

1
2
3
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!

-------------结束啦 我可是有底线的~ -------------

欢迎关注我的其它发布渠道